我正在尝试调用notifyDataSetChanged()
从 MainActivity 中的 Fragment 中的适配器上,以便在更改数据后刷新 View /列表。我在 OnActivityCreate()
内创建适配器,所以我无法找到如何获取适配器,以便我可以创建一个调用方法,该方法将具有 adapter.notifyDataSetChanged()
fragment
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
String[] names = new String[] { "name1", "name1", "name1" };
String[] values = new String[] { "value1", "value2", "value3" };
MyArrayAdapter adapter = new MyArrayAdapter(getActivity(), names, values);
setListAdapter(adapter);
}
我尝试在 Fragment 中创建一个方法并传递 adapter
但我无法从主要 Activity 中调用它。另外getListAdapter()
不让我打电话notifyDataSetChanged()
。这里很困惑,谢谢!
最佳答案
只需使其对整个 Activity 可见即可。
... MyClass {
private MyArrayAdapter adapter;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
String[] names = new String[] { "name1", "name1", "name1" };
String[] values = new String[] { "value1", "value2", "value3" };
adapter = new MyArrayAdapter(getActivity(), names, values);
setListAdapter(adapter);
}
// Another method
private void myMethod() {
adapter.notifyDataSetChanged();
}
}
关于java - 从 OnActivityCreate() 获取适配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30631699/