Android - Update-Liste Ansicht auf spinner Auswahl
Ich versuche zu aktualisieren, Liste anzeigen, wenn ich wählen Sie auf ein Element in der spinner, der code funktioniert, aber keine Ausgabe erzeugt. Ich kann nicht herausfinden, die Fehler.Bei jedem Klick auf das Element im spinner will ich sehen verschiedene Liste.
Spinner spinner;
String path[] = {"Laptops","DesktopPC","Tablets","Add-Ons","Gaming"};
String Laptops[] = {"Dell","Hp","Apple"};
ListView lstView;
lstView = (ListView) findViewById(R.id.listView1);
ArrayAdapter<String> adapter = new ArrayAdapter<String> (Category.this, android.R.layout.simple_spinner_item, path );
spinner = (Spinner) findViewById(R.id.spinner1);
spinner.setAdapter(adapter);
spinner.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
//TODO Auto-generated method stub
ArrayAdapter<String> lstAdapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, Laptops);
lstView.setAdapter(lstAdapter);
//lstView.refreshDrawableState();
}
});
InformationsquelleAutor user2113484 | 2013-11-07
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
OnItemSelectedListener
und verwenden Sie eineArrayList<String>
. Verwenden Sie das gleiche für Ihren adapter. Elemente hinzufügen arraylist und rufennotifyDataSetChanged
auf den adapter zu aktualisieren lsitview.Auch gibt es keine Notwendigkeit zu initialisieren, dass Ihr adapter in die spinner-Auswahl-listener.
Ändern Sie die unten entsprechend Ihrer Anforderung
String s = (String) arg0.getItemAtPosition(arg2);
vergleichen Sie Jetzt string s mit.equals
wieif(s.equals("Laptops"))
dann etwas tunVerwenden Sie die Benachrichtigung, dass der Datensatz geändert wurde, anstatt einen neuen adapter.
Hinzufügen notifyDataSetChanged() an adapter wie unten....
Verwenden Spinner
onitemSelectedListener
stattonItemClickListener
Versuchen Sie Folgendes :