2013-07-06 112 views
1

我的片段與列表視圖notifydatasetchanged內部片段與列表視圖

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
    Bundle savedInstanceState) { 
View local=inflater.inflate(R.layout.allist,container,false); 
ListView all=(ListView) local.findViewById(R.id.alllistView); 
String link=getString(R.string.mainlink); 
al=new ArrayList<MyItem>(); 
ArrayAdapter<MyItem> ad=new ArrayAdapter<MyItem>(getActivity(), android.R.layout.simple_list_item_1,al); 
rlt=new RefreshLinkTask(); 
rlt.execute(new String[]{link}); 
all.setAdapter(ad); 
return local; 

我的問題是我不能使用notifyDataSetChanged()到列表視圖。它顯示的方法notifyDataSetChanged()對於ListView類型是未定義的。 AsyncTask被執行,可以在logcat上看到。我做錯了什麼?

+0

你如何調用'notifyDataSetChanged()'?. – Raghunandan

+0

我這樣稱呼all.notifyDataSetChanged() – MDEVLP

回答

2

我不能使用notifyDataSetChanged()來的ListView

,這樣不是調用notifyDataSetChanged()方法all.notifyDataSetChanged()(上的ListView實例)您將需要使用適配器實例調用它爲:

ad.notifyDataSetChanged() 

public void notifyDataSetChanged()

在API級別1

通知所附的觀察者的基礎數據已被更改,任何視圖反映了數據集應刷新本身。

因此請在您的適配器上撥打notifyDataSetChanged()

+0

即將回答。你先回答。 +1。 – Raghunandan

+0

謝謝。我打電話給listview。 – MDEVLP

+1

@MDEVLP檢查文檔http://developer.android.com/reference/android/widget/ArrayAdapter.html#notifyDataSetChanged() – Raghunandan

1

notifyDataSetChanged()立即撥打適配器實例不ListView控件本身