Я пробовал следовать рекомендациям здесь (How to refresh Android listview?), чтобы обновить ListView, но безрезультатно.ListView не обновляет после вызова notifyDataSetChanged, invalidateViews
Соответствующий код приведен ниже. Обратите внимание, что я вызываю runOnUiThread в свой MainActivity, чтобы обновить ListView этого (фрагмента).
protected ArrayAdapter<String> adapter;
protected View view;
protected ArrayList<String> theList;
protected ListView listView;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
view = inflater.inflate(R.layout.fragment_1, container, false);
listView = (ListView) view.findViewById(R.id.listview);
theList = new ArrayList<String>();
adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, theList);
listView.setAdapter(adapter);
if(view != null) { return view;}
((ViewGroup) listView.getParent()).removeView(listView);
container.addView(listView);
return view;
}
protected void updateListViewWithPath(String resultFromServerRead) {
//TODO: Somehow split the information..
theList.add("yo");
theList.add("hey");
adapter.clear();
adapter.addAll(theList);
listView.invalidateViews();
adapter.notifyDataSetChanged();
listView.refreshDrawableState();
}
вы можете прочитать получить больше знаний о ListView из http://www.vogella.com/tutorials/AndroidListView/article.html – kablu