2017-02-26 81 views
0

我有一個帶有ListView的activity_main佈局。
我需要在MainActivity中填充我的ListView。在活動中添加ListView內容

MainActivity不擴展ListActivity,因爲我在佈局中不僅使用ListView,而且使用其他元素。

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

Item.items返回一個數組,我需要添加到ListView中。
我該怎麼做?我知道我不得不使用ArrayAdapter。但我做不好。
它適用於我,但我不明白使用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); 

回答

0

關於你的問題,你有兩個選擇。

1)非常簡單的事情,將toString()您的Item對象在每一行。

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)定義您own adapter class with your own XML


如果你知道如何使用ListActivity,你仍然可以顯示其他元素,順便說一句。

Read the documentation

如果您願意,可以通過在onCreate()中設置您自己的視圖佈局setContentView()來自定義屏幕布局。要做到這一點,你自己的觀點必須包含一個ListView對象與編號"@android:id/list"