У меня есть простой фрагмент MyListFragment, который показывает один простой массив данных на экране.Изменение содержимого спискаFragment
public class MyListFragment extends ListFragment {
private ArrayAdapter<String> adapter;
public ArrayAdapter<String> getAdapter() {
return adapter;
}
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
String[] values = new String[] {"data", "data", "data"};
adapter = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_1, values);
setListAdapter(adapter);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return super.onCreateView(inflater, container, savedInstanceState);
}
}
Интересно, как я могу динамически изменять эти данные из своей деятельности? Пожалуйста, скажите мне, есть ли простой способ, как это сделать! Я пытался, но не удалось ...
UPD: Я добавил функцию changeContent к MyListFragment:
public void changeContent(String[] value) {
adapter.addAll(value);
adapter.notifyDataSetChanged();
}
}
Как вы видите, адаптер является глобальной переменной, и она инициализируется внутри onActivityCreated, но моя программа падениям потому что внутри changeContent в равных нулю! Я не могу понять, почему!
Не могли бы вы рассказать об этом подробнее? – user1933770