Ich habe den folgenden Code:Gemeinsame Vorlieben Null-Zeiger Ausnahme auf Aktivität schließen
public void refresh(){
View rootView=getView();
final SharedPreferences pref = this.getContext().getSharedPreferences("MyFav", 0);
final SharedPreferences.Editor editor = pref.edit();
Map<String,?> entries = pref.getAll();
final Set<String> keys = entries.keySet();}
Diese Funktion innerhalb eines Fragments ist und ich es von Aktivität anzurufenden wie folgt: -
public void onBackPressed() {
super.onBackPressed();
FavLegislator fav =new FavLegislator();
if(frag.equals("true"))
fav.refresh();
finish();
}
Der gemeinsame Einstellungen können sich in der Aktivität geändert haben.
Ich möchte nur eine aktualisierte Liste der Einstellungen, wenn die Aktivität geschlossen wird.
Ich erhalte den folgenden Fehler auf die Aktivität Druck Zurück-Taste:
11-27 10:06:24.126 31645-31645/com.app.congress.congressapp E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.app.congress.congressapp, PID: 31645
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.SharedPreferences android.content.Context.getSharedPreferences(java.lang.String, int)' on a null object reference
at com.app.congress.congressapp.FavLegislator.refresh(FavLegislator.java:85)
at com.app.congress.congressapp.legislator_info.onBackPressed(legislator_info.java:466)
at com.app.congress.congressapp.legislator_info.onOptionsItemSelected(legislator_info.java:454)
at android.app.Activity.onMenuItemSelected(Activity.java:2912)
at android.support.v4.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:361)
at android.support.v7.app.AppCompatActivity.onMenuItemSelected(AppCompatActivity.java:147)
at android.support.v7.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:100)
at android.support.v7.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:100)
at android.support.v7.widget.ToolbarWidgetWrapper$1.onClick(ToolbarWidgetWrapper.java:194)
at android.view.View.performClick(View.java:5201)
at android.view.View$PerformClick.run(View.java:21163)
at android.os.Handler.handleCallback(Handler.java:746)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5443)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
Kann jemand mir bitte mitteilen, warum ich die oben Störung erhalte und wie man es beheben?
immer noch die gleichen Fehler – Anirban
@Anirban Update versuchen, sollten Sie 'getActivity()' Funktion zum Abrufen der Kontext der Attach-Aktivität –