我listview
得到填就開始,但之後我不能找到一種方法來做出改變 請參見下文Some1知道爲什麼我的listview數據沒有改變?
public class myFragment extends android.support.v4.app.Fragment
{
ListView list;
ArrayList<String> restorants=new ArrayList<String>();
Manager m=new Manager();
ArrayAdapter<String> adapter;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_, container, false);
list=(ListView) rootView.findViewById(R.id.myList);
for(Restorant r : m.getResByCity("nyc"))
{
restorants.add(r.getName());
}
adapter=new ArrayAdapter<String>(getActivity(), R.layout.item_list, R.id.restorantItem,restorants);
list.setAdapter(adapter);
return rootView;
}
public void makeChange(String s)
{
restorants.remove(0);
((ArrayAdapter)list.getAdapter()).notifyDataSetChanged();
}
}
的代碼,而調用方法makeChange()
我已經檢查了restorants項目被移除,以便有與調用方法
makeChange()
沒有問題,是從我mainActivity
包含viewpager
凡本fragment
包含在viewpager
調用。
我看不出哪裏是你的適配器變化?您更改ArrayList restourants,但不是適配器。 – Mike
當我打電話notifydatasetchange,我認爲,如果retorants更改然後listview必須刷新並重新添加restorants? – user3583415