2012-03-04 67 views

回答

1

從你的問題看來你已經爲每個字符串數組定義的適配器,所以當你要刷新列表以加載其他字符串數組只是,新的字符串數組設置適配器,和你的列表視圖都會自動更新。

,如果你有字符串數組加載數據等:

String[][] array=new String[][]={{"a","b","c"}, {"x", "y","z"}, {"1", "2", "3"}}; 

聲明一個臨時字符串數組包含數據源。說dataSource []。

在活動的onCreate方法分配第一陣列的數據源,由:

dataSource=array[0]; 

聲明適配器如下:

ArrayAdapter<String> adapter=new ArrayAdapter(this, android.R.layout.simple_list_item_1, dataSource); 

設置此適配器的ListView。

通過按鍵改變數據源的OnClick方法

dataSource=array[1];//or other array, to which you want to set as new datasource 

,然後調用notifyDataSetChanged上適配器:

adapter.notifyDataSetChanged(); 
+0

如何將我的適配器設置爲指向另一個數組? – 2012-03-04 10:26:36

+0

如果你需要與不同的數組相同,你可以通過使用一些臨時數組並將此數組設置爲適配器的數據源來進行更改,在按鈕上單擊將新數據源分配給臨時數組,然後調用notifyDataSetChanged方法適配器 – jeet 2012-03-04 10:53:38

+0

如何更改適配器的數據源。我GOOGLE了很多..沒有解決方案 – 2012-03-04 17:53:14

0

您可以使用處理程序刷新視圖。在類Handler的內部方法handleMessage()中,您編寫了用於刷新List視圖的代碼。看看這個例子:http://www.tutorialforandroid.com/2009/01/using-handler-in-android.html

0

如果你想在運行時改變適配器,我認爲你正在尋找這個:

ListView lv = getListView(); 
lv.setAdapter(newAdapter); 
+0

我需要我的列表視圖鏈接到XML創建一個..如何將getListView()的工作? – 2012-03-04 10:23:44

+0

getListView將得到在id中定義的listView android:id =「@ android:id/list」 – Demonick 2012-03-04 11:23:50