2017-02-26 3 views
0

Ich habe ein activity_main-Layout mit einem ListView.
Ich muss meine ListView in MainActivity füllen.ListView-Inhalt in einer Aktivität hinzufügen

MainActivity erweitert ListActivity nicht, da ich nicht nur ein ListView in meinem Layout verwende, sondern auch andere Elemente.

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_top_level); 
    ListView listView = (ListView) findViewById(R.id.mylist); 
} 

Item.items gibt einen Array, die ich zur Listen hinzufügen müssen.
Wie kann ich das tun?

Ich weiß, dass ich einen ArrayAdapter verwenden muss. Aber ich kann es nicht richtig machen.
Es funktioniert für mich, aber ich verstehe nicht mit android.R.layout.simple_list_item_1.

ArrayAdapter<Item> itemsAdapter = 
    new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, Item.items); 
listView.setAdapter(itemsAdapter); 

Antwort

0

In Bezug auf Ihre Frage haben Sie zwei Möglichkeiten.

1) Etwas wirklich einfaches, dass toString() Ihre Item Objekte in jeder Zeile ist.

ArrayAdapter<Item> adapter = new ArrayAdapter<Item>(
    MainActivity.this, // Context 
    android.R.layout.simple_list_item_1, // An XML file for your items 
    Item.items   // The Item[] array 
); 
listView.setAdapter(adapter); 

2) Definieren Sie Ihre own adapter class with your own XML


Wenn Sie wissen, wie ListActivity zu verwenden, haben Sie noch andere Elemente zeigen können, nebenbei bemerkt.

Read the documentation.

wenn Sie es wünschen, können Sie den Bildschirm-Layout Ihren eigenen View-Layout mit setContentView() in onCreate() durch Einstellung anpassen können. Um dies zu tun, muss Ihre eigene Sicht ein ListView Objekt mit der ID "@android:id/list"

enthalten
Verwandte Themen