Question

I am having the problem using the spinner in android! Can anyone tell me out?

My code in ListViewFragment is

public class ListViewFragment extends Activity implements OnItemSelectedListener {
    public void ListViewFragments (){}

private String[] state = { "Cupcake", "Donut", "Eclair",
        "Froyo", "Gingerbread", "HoneyComb", "IceCream Sandwich",
        "Jellybean", "kitkat"};

Spinner spinnerOsversions;
TextView selVersion;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    System.out.println(state.length);
    selVersion = (TextView) findViewById(R.id.selVersion);
    spinnerOsversions = (Spinner) findViewById(R.id.osversions);
    ArrayAdapter<String> adapter_state = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, state);
    adapter_state
            .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinnerOsversions.setAdapter(adapter_state);
    spinnerOsversions.setOnItemSelectedListener(this);

}

public void onItemSelected(AdapterView<?> parent, View view, int position,
        long id) {
    spinnerOsversions.setSelection(position);
    String selState = (String) spinnerOsversions.getSelectedItem();
    selVersion.setText("Selected Android OS:" + selState);
}

@Override
public void onNothingSelected(AdapterView<?> arg0) {

}

similarly in fragment_list.xml

<TextView
    android:id="@+id/selVersion"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/osversions"
    android:layout_marginLeft="10dp"
    android:layout_marginTop="20dp" />

<Spinner
android:id="@+id/osversions"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below=@+id/textView2"
android:layout_marginTop="38dp" />

and where i get error is in MainActivity.java

Fragment fragment = null;

            switch (position) {
            case 0:
                fragment = new HomeFragment();
                break;
            case 1:
                fragment = new ListViewFragment();
                break;
            case 2:
                fragment = new StyleFragment();
                break;
            case 3:
                fragment = new DatabaseFragment();
                break;
            case 4:
                fragment = new PrefsFragment();
                break;
            case 5:
                fragment = new WebViewFragment();
                break;
            case 6:
                fragment = new WebServiceFragment();
                break;

            case 7:
                fragment = new RssReaderFragment();
                break;

            default:
                break;
            }

The error message is:

Description Resource    Path    Location    Type

Type mismatch: cannot convert from ListViewFragment to Fragment MainActivity.java /Nagarik Sahayata/src/com/yogeshojha/nagarikshayata line 235 Java Problem

Was it helpful?

Solution

Take a look at your code here:

 ListViewFragment extends Activity

==> your ListViewFragment extends the Activity class and not a Fragment!

==> rethink what you want to do. Should ListViewFragment actually be a Fragment or an Activity? Anyhow, you can't just squeeze an Activity into a Fragment like this: fragment = new ListViewFragment();

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top