Android Studio üzerinde SharedPreferences ile arkaplan değiştirildiği zaman hafızaya kayıt etmesini istiyorum ayarlar java sınıfı oluşturup preference activity extend ettim. Mainactivity de SharedPrefenceres ayarhafizasi olarak tanıttım
activity_main e bunu girdim ve aşağıdaki metodu oluşturdum metodu kaldırınca uygulama sorunsuz açılıyor ama metod varken daha uygulama açılmadan çöküyor
private void ayaryukle() { String pozisyon=ayarhafizasi.getString("renk","3"); switch (Integer.valueOf(pozisyon)){ case 0: anasayfa_arkaplan.setBackgroundColor(Color.RED); break; case 1: anasayfa_arkaplan.setBackgroundColor(Color.GREEN); break; } Kodlarda bir hata görünmüyor
Logcat de gösterilen hata bu
01-11 20:26:13.900 7782-7782/? E/AndroidRuntime: FATAL EXCEPTION: main java.lang.RuntimeException: Unable to start activity ComponentInfo{deneme.myapplication/deneme.myapplication.MainActivity}: java.lang.NullPointerException at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) at android.app.ActivityThread.access$600(ActivityThread.java:141) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5041) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.NullPointerException at deneme.myapplication.MainActivity.ayaryukle(MainActivity.java:54) at deneme.myapplication.MainActivity.onCreate(MainActivity.java:36) at android.app.Activity.performCreate(Activity.java:5104) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) at android.app.ActivityThread.access$600(ActivityThread.java:141) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5041) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) at dalvik.system.NativeStart.main(Native Method)
< Bu mesaj bu kişi tarafından değiştirildi Grkwnxs -- 12 Ocak 2017; 0:2:48 >
Biraz karışık oldu kusura bakmayın. NullPointer hakkında hiç bilgim yok acemiyim java da aslında kodlarda hata olmaması gerek java dersindeki örneği birebir uyguluyorum.
Mainactivity de SharedPrefenceres ayarhafizasi olarak tanıttım
ayarhafizasi= PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
activity_main e bunu girdim ve aşağıdaki metodu oluşturdum metodu kaldırınca uygulama sorunsuz açılıyor ama metod varken daha uygulama açılmadan çöküyor
private void ayaryukle() {
String pozisyon=ayarhafizasi.getString("renk","3");
switch (Integer.valueOf(pozisyon)){
case 0: anasayfa_arkaplan.setBackgroundColor(Color.RED);
break;
case 1: anasayfa_arkaplan.setBackgroundColor(Color.GREEN);
break;
}
Kodlarda bir hata görünmüyor
Logcat de gösterilen hata bu
01-11 20:26:13.900 7782-7782/? E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{deneme.myapplication/deneme.myapplication.MainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at deneme.myapplication.MainActivity.ayaryukle(MainActivity.java:54)
at deneme.myapplication.MainActivity.onCreate(MainActivity.java:36)
at android.app.Activity.performCreate(Activity.java:5104)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
< Bu mesaj bu kişi tarafından değiştirildi Grkwnxs -- 12 Ocak 2017; 0:2:48 >