从BroadcastReciever更新ListView - 适配器nullpointerexception

时间:2013-09-07 14:53:18

标签: android listview android-listview broadcastreceiver android-broadcast

我有一个BroadcastReceiver,可以在设定的时间创建通知。创建通知后,我想更新名为ListView的{​​{1}}中包含的Fragment。我意识到我只能做到这一点就是应用正在运行 - 这很好。

所以,在我的PendingFragment我这样做:

BroadcastReceiver

然后在PendingFragment.getInstance().updateTheList();中有getInstance()方法和updateTheList()方法。

PendingFragment

private static PendingFragment instance;

    public static PendingFragment getInstance() {
        if (null == instance) {

            instance = new PendingFragment();
        }
        return instance;
    } 

public void updateTheList() { simpleAdpt.refreshMyAdapter(); } 是自定义适配器的子类。它所做的就是删除一些项目,然后调用refreshMyAdapter()

我的问题是我在simpleAdpt.notifyDataSetChanged();中有nullpointerexception,这可能意味着simpleAdpt为null。我不知道为什么因为我在屏幕上可以看到包含项目的ListView,所以它怎么能为空呢?

1 个答案:

答案 0 :(得分:0)

在评论中指出Luksprog,我instance的{​​{1}}没有理由拥有“有效数据成员”。

要解决此问题,请在fragment的{​​{1}}中,只需添加onCreateView()