Ich benutze BroadcastReceiver und registrieren Sie es, das funktioniert aber gut, wenn Zurück-Taste drücken, meine app zeigen Kraft schließen, in onDestroy() Ich deregistrieren, aber ich habe Probleme hier mein CodeBroadcastReceiver registrieren und Aufheben der Registrierung funktioniert nicht in Android
@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();
}
Hier mein Fehler ist:
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
Diese Linie ist mein Problem, mir bitte HELLP
android.content.Intentandroid.support.v4.app.FragmentActivity
.registerReceiver(android.content.BroadcastReceiver,
android.content.IntentFilter)'
on a null object reference
Sir, ist leider nicht gelöst –
Haben Sie onActivityCreated überschreiben und registerReceiver darin verschoben? –
Ja, meine app hat listview, um daten aus dem netz mit 10 einzelteilen empfangen, nach unten scrollen und 10 einzelteile, inkrementieren seite und senden seite nummer zu php server per post-methode, es funktioniert gut aber wenn fertig item von php erhalten, Seitennummer wird weiter gesendet senden Daten an Server und logcat in PHP-Server zeigen zusätzliche Anzahl der Seite, in diesem Moment, drücken Sie die Taste zurück, zeigen Sie leider Kraft schließen, tut mir leid für die lange Erklärung und grundsätzlich Frage –