2016-07-25 1 views
2

에서 작동하지 않는 등록 취소하지만 언론은 다시 버튼들의 OnDestroy() 나는 그 등록을 취소,하지만 난 여기에 문제 이 내 응용 프로그램 쇼의 힘 가까이, 때 내 코드 여기이 잘 작동, 내가 <strong>브로드 캐스트 리시버</strong> 사용하고 등록 등록 브로드 캐스트 리시버와 안드로이드

@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 

이 라인은 내 문제가 나에게

,536,913,632을 HELLP하시기 바랍니다 10
android.content.Intentandroid.support.v4.app.FragmentActivity 
.registerReceiver(android.content.BroadcastReceiver, 
android.content.IntentFilter)' 
on a null object reference 

답변

1

getActivity()는 onCreateView()에서 호출 할 때 null을 반환하기 때문입니다. 조각 onCreateView가 호출 될 때 액티비티가 이미 생성되어있을 필요는 없습니다.

코드 조각을 onActivityCreated로 이동하면 문제가 으로 해결됩니다.

getActivity().registerReceiver(net, filter); 
+0

죄송합니다. 불행히도 해결되지 않았습니다. –

+0

onActivityCreated를 덮어 쓰고 그 안에 registerReceiver를 이동 했습니까? –

+0

네, 내 응용 프로그램은 목록보기를 가지고 10 항목을받은 그물에서 데이터를 얻으려면, 아래로 스크롤하고 10 항목을 끝내고, 페이지를 증가시키고 페이지 방식으로 PHP 서버에 보내면 잘 작동하지만 PHP, 페이지 번호가 계속 서버에 데이터를 보내고 PHP 서버에 logcat이 페이지의 추가 번호를 표시,이 순간, 전화 버튼을 누르면, 불행히도 강제로 가까이 표시, 긴 설명과 기본적으로 질문에 대한 미안 해요 –

0

활동 그러므로 그것의 널 (null)을 나오는 아직 준비가되지 않습니다. onActivityCreated() 또는 onStart()과 같은 유효한 활동 인스턴스를 확보해야하는 경우 등록을 시도하십시오.

관련 문제