2014-04-13 45 views
0

注意:請忽略問題詳細信息的格式。如何刷新ListFragment的數據?

我已經定義了一個名爲BulletFragment的類,它擴展了ListFragment,它沒有太多的功能。 我還定義了一個名爲ListViewAdapter的customadapter,它擴展了BaseAdapter並擁有一個ArrayList(我知道我可以擴展ListAdapter而不是BaseAdapter,但它不適合我的需要)。這是大多數邏輯所在。

從我的主要活動,我使用getSupportFragmentManager()添加BulletFragment。 這個主要活動在操作欄上有微調。當我從頂部的微調器中選擇不同的選項時,我希望在片段上顯示不同的數據。我能夠在onNavigationItemSelected方法中收集正確的數據。在這個方法中,我爲每個使用微調器進行的選擇創建一個ListViewAdapter的新實例,並將此實例傳遞給fragment的setListAdapter方法。但片段中的數據未更新。請幫幫我。

回答

0

您是否嘗試過adapter.notifydatasetchanged()方法。它將根據適配器中的數據更改重新繪製列表。更多關於它here.

+0

這就是我正在做的 ListViewAdapter tempAdapter = new ListViewAdapter(bullets,Today.this,fragment); fragment.setListAdapter(tempAdapter); ((BaseAdapter)fragment.getListAdapter())。notifyDataSetChanged(); 但仍然沒有用:( –

+0

我現在沒有編輯器,但我想你應該做一些類似於getActivity()而不是Today.this或類似的東西,也適用於notifyDagaSetChanged,請嘗試tempAdapter.notifyDataSetChanged()。 – subash