Hallo Androd-Community,
ich habe folgende Problemstellung: Und zwar habe ich in meiner Activity einen Actionbar-spinner mit einigen Einträgen. Diese Einträge werden aus einer List geholt:
public class MainActivity extends ActionBarActivity implements ActionBar.OnNavigationListener {
public static All_Category_Lists category_Lists = new All_Category_Lists();
private static final String STATE_SELECTED_NAVIGATION_ITEM = "selected_navigation_item";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
category_Lists.prepareAllList();
// Set up the action bar to show a dropdown list.
final ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
// Set up the dropdown list navigation in the action bar.
actionBar.setListNavigationCallbacks(
// Specify a SpinnerAdapter to populate the dropdown list.
new ArrayAdapter<String>(actionBar.getThemedContext(), android.R.layout.simple_list_item_1,
android.R.id.text1, category_Lists.listDataHeader), this);
}
...
Alles anzeigen
Bei einer Auswahl der Einträge im Spinner soll entsprechend eine Listview mit Daten gefüllt werden.
Beispiel:
Im Spinner haben wir die Auswahl:
Haus
Auto
Land
Wird Haus gewählt, dann soll in der Listview folgende Einträge erscheinen:
Tür
Kamin
Sofa
TV
Wird Auto gewählt, dann soll in der Listview folgende Einträge erscheinen:
Reifen
Motor
Lenkrad
Ich habe dafür folgende Klasse erstellt, die alle Listen bzw. Unterkategorien beinhaltet:
public class All_Category_Lists {
public List<String> listDataHeader = new ArrayList<String>();
public HashMap<String, List<String>> listDataChild = new HashMap<String, List<String>>();
public void prepareAllList() {
listDataHeader.add("Haus");
listDataHeader.add("Auto");
listDataHeader.add("Land");
List<String> haus = new ArrayList<String>();
beschleunigung.add("Tür");
beschleunigung.add("Kamin");
beschleunigung.add("Sofa");
beschleunigung.add("TV");
List<String> auto = new ArrayList<String>();
beschleunigung.add("Reifen");
beschleunigung.add("Motor");
beschleunigung.add("Lenkrad");
...
listDataChild.put(listDataHeader.get(0), haus); // Header, Child data
listDataChild.put(listDataHeader.get(1), auto);
...
}
Alles anzeigen
Wie bekomme ich denn nun die Unterkategorien in die Listview? Oder besser gesagt, aus der Hashmap die dazugehörige Liste?
mit
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, category_Lists.listDataChild); (soweit richtig ??? weiter weiß ich leider nicht )
komme ich nicht weiter.
Bedanke mich im Voraus für die Hilfen und Ratschläge