BroadcastReceiver注册和注销在Android中不起作用

BroadcastReceiver注册和注销在Android中不起作用,android,android-broadcastreceiver,Android,Android Broadcastreceiver,我使用了BroadcastReceiver并注册了它,效果很好,但当按下后退按钮时,我的应用程序显示force close,在onDestroy()中我注销了它,但我遇到了问题 这是我的密码 @SuppressLint("NewApi") @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceStat

我使用了BroadcastReceiver并注册了它,效果很好,但当按下后退按钮时,我的应用程序显示force close,在onDestroy()中我注销了它,但我遇到了问题 这是我的密码

@SuppressLint("NewApi")
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.fragment_three, container, false);

    net = new NetworkReceiver();
    mSwipeRefreshLayout = (SwipeRefreshLayout) v.findViewById(R.id.activity_main_swipe_refresh_layout);
    list = (ListView) v.findViewById(R.id.list1);


    try {
        IntentFilter filter = new IntentFilter();
        filter.addAction(ACTION);
        //filter.addAction(ACTION2);
        getActivity().registerReceiver(net, filter);
    }
    catch (NullPointerException e){
        Log.d(TAG, "" + e);
    }}


 @Override
public void onDestroy() {

    try {
        if (net!=null) {
            getActivity().unregisterReceiver(net);
            net = null;
        }
    }
    catch (IllegalArgumentException e){
        Log.d(TAG, "ActivityVideo - onStop unregisterReceiver:" + e);
        //LocalBroadcastManager.getInstance()
    }

    super.onDestroy();
}
这是我的错误:

07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp E/AndroidRuntime: FATAL EXCEPTION: main
07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp E/AndroidRuntime: Process: osclassapp.faosclass.com.osclassapp, PID: 13875
07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp E/AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Intent android.support.v4.app.FragmentActivity.registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter)' on a null object reference
07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp E/AndroidRuntime:     at osclassapp.faosclass.com.osclassapp.ThreeFragment$PostGetter$1.customLoadMoreDataFromApi(ThreeFragment.java:483)
07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp E/AndroidRuntime:     at osclassapp.faosclass.com.osclassapp.ThreeFragment$PostGetter$1.onLoadMore(ThreeFragment.java:475)
07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp E/AndroidRuntime:     at osclassapp.faosclass.com.osclassapp.EndlessScrollListener.onScroll(EndlessScrollListener.java:59)
07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp E/AndroidRuntime:     at android.widget.AbsListView.invokeOnItemScrollListener(AbsListView.java:1948)
07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp E/AndroidRuntime:     at android.widget.AbsListView.setOnScrollListener(AbsListView.java:1937)
07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp E/AndroidRuntime:     at osclassapp.faosclass.com.osclassapp.ThreeFragment$PostGetter.onPostExecute(ThreeFragment.java:472)
07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp E/AndroidRuntime:     at android.os.AsyncTask.finish(AsyncTask.java:636)
07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp E/AndroidRuntime:     at android.os.AsyncTask.access$500(AsyncTask.java:177)
07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp E/AndroidRuntime:     at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:653)
07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:102)
07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:145)
07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp 
这条线是我的问题,请见谅我

android.content.Intentandroid.support.v4.app.FragmentActivity
.registerReceiver(android.content.BroadcastReceiver, 
android.content.IntentFilter)' 
on a null object reference

这是因为在onCreateView()中调用getActivity()时返回null。当调用片段onCreateView时,不需要已经创建活动

您可以在代码下面移动到onActivityCreated,您的问题将被删除 决心


活动尚未准备好,因此其结果为空。在保证获得有效的活动实例时尝试注册,如
onActivityCreated()
onStart()

是否覆盖了onActivityCreated和moved registerReceiver?是的,我的应用程序有listview,在向下滚动并完成10个项目后,从网络获取10个项目的数据,通过post方法增加页面并将页码发送到php服务器,工作正常,但当从php接收到完成项目后,要继续向服务器发送数据的页码和php服务器中的logcat显示额外的页码,此时,按phone back按钮,显示关闭,对不起,我的解释很长,基本上是问题10项,第1页,接下来的10项,第2页。。。n项第n页直到php服务器发送数据这是一个单独的问题。您在启动活动时获取异常的问题已解决!
getActivity().registerReceiver(net, filter);