java - 从 OnActivityCreate() 获取适配器

标签 java android android-fragments android-listview notifydatasetchanged

我正在尝试调用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/

相关文章:

java - System.loadLibrary() 中使用了哪些类型的库

java - 在同一个项目中使用 spring mvc 应用程序和 jersey 是否存在潜在问题?

android - WhatsApp 是否使用 GCM 进行推送通知?

java - 数据绑定(bind)事件监听器

android - fragment 中的适配器 - android.app.Application 无法转换为 android.app.Activity

java - java.io.FileInputStream.readBytes(Native Method) 的无限 100% CPU 使用率

java - 如何捕获 GWT TextBox KeyDown 重复

android - 使用 robotium 滚动时单击所有 ListView 元素

android - SearchView 和 BackPress 事件处理

android - 模拟 Activity/Fragment 重新创建