从 OnActivityCreate() 获取适配器
Get adapter from OnActivityCreate()
我正在尝试从 MainActivity 调用片段中的适配器上的 notifyDataSetChanged()
,以便在更改数据后刷新 view/list。我在 OnActivityCreate()
中创建了适配器,所以我无法找到如何获取适配器的方法,因此我可以创建一个调用方法 adapter.notifyDataSetChanged()
片段
@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);
}
我尝试在片段中创建一个方法并将 adapter
传递给它,但我无法从 Main 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();
}
}
我正在尝试从 MainActivity 调用片段中的适配器上的 notifyDataSetChanged()
,以便在更改数据后刷新 view/list。我在 OnActivityCreate()
中创建了适配器,所以我无法找到如何获取适配器的方法,因此我可以创建一个调用方法 adapter.notifyDataSetChanged()
片段
@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);
}
我尝试在片段中创建一个方法并将 adapter
传递给它,但我无法从 Main 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();
}
}