我正在刷新Android的清單,但似乎無法做到。Android列表刷新
我用過notifyDataSetChanged();在我認爲適用的每一點上(目前使用對話框輸入),但它不起作用,並且我已到了遍佈整個地方的地步,它仍然不會刷新。
我是否正確地說這應該刷新列表,而你看着它,或者它會重建列表,你仍然需要刷新視圖?
如果任何人有任何關於它的定位與建設名單的建議,我很樂意聽到。
我正在刷新Android的清單,但似乎無法做到。Android列表刷新
我用過notifyDataSetChanged();在我認爲適用的每一點上(目前使用對話框輸入),但它不起作用,並且我已到了遍佈整個地方的地步,它仍然不會刷新。
我是否正確地說這應該刷新列表,而你看着它,或者它會重建列表,你仍然需要刷新視圖?
如果任何人有任何關於它的定位與建設名單的建議,我很樂意聽到。
這是一個ListActivity?我目前在我的項目中有一個ListActivity,我有自己的適配器類,它擴展了ArrayAdapter。
我的經驗是,在我的擴展列表適配器類實例上調用notifyDataSetChanged()會立即導致正在顯示的列表視圖的刷新。因此,只要在我的適配器實例上調用.notifyDataSetChanged(),列表View就會重新生成,因此會導致我的適配器的getView()實現被調用以再次生成每個單獨的行視圖。因此,用戶選擇一個上下文菜單項,它會觸發某些數據更改,然後調用.notifyDataSetChanged(),並立即刷新新數據。
所以要添加一些代碼段是明確的:
我有一個ListActivity
public class VarListActivity extends ListActivity {
在這,我向ArrayAdapter
class VarAdapter extends ArrayAdapter{
...
@Override
public View getView(int position, View convertView, ViewGroup parent){
// Creates the views based upon myData
...
@Override
public int getCount(){
...
我創建數組的一個實例適配器
la = new VarAdapter(this, R.layout.row0);
當一個上下文菜單中選擇
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.a_context_menu_option:
// Does a call to perform modifications to myData
la.notifyDataSetChanged();
return true;
我只是夾持這一切下來,以防萬一它是任何相似的情況,但我們真的需要知道一點關於你的代碼。
代碼請... – Wroclai 2011-04-18 17:18:46
您是否在更改適配器本身或您用來創建適配器的某個陣列? – Aleadam 2011-04-18 17:23:21