何时以编程方式访问片段视图是安全的

时间:2016-12-27 16:40:52

标签: android android-fragments

我正在尝试抓取我的两个片段上的listview小部件,但是在我放置此代码的任何地方,我的编译器告诉我它会产生一个空指针错误:

$total_sum = User::find(1)->transactions->sum('amount');

tasksAdapter应该是一个保存在主要活动中的静态arrayAdapter。

在哪里可以放置此代码,以便在制作片段后立即将适配器连接到列表?这两个片段保存在片段标签主机中。

此外,它似乎无法找到我的任务适配器,我确定我只是一个大脑放屁,但我做错了什么?

它在任何方法之外声明:

    ListView list = (ListView) getView().findViewById(R.id.tasksList);
    list.setAdapter(GroupContentActivity.tasksAdapter);

并在活动的onCreate方法中实例化,如下所示:

private static ArrayAdapter<String> tasksAdapter;

当我到达那一点时,我将设置适配器的默认内容。

1 个答案:

答案 0 :(得分:0)

Lint只是警告你在使用它之前没有检查空引用。

如果您将代码更改为:

    ListView list = (ListView) getView().findViewById(R.id.tasksList);
    if (list != null) {
        list.setAdapter(GroupContentActivity.tasksAdapter);
    }

警告将消失。