MainActivity.java
================================
public class MainActivity extends TabActivity {
...
tabHost.addTab(tabHost.newTabSpec("tab1") .setIndicator("tab 1") .setContent(new Intent(this, List1.class)));
tabHost.addTab(tabHost.newTabSpec("tab2") .setIndicator("tab 2") .setContent(new Intent(this, List2.class)));
tabHost.addTab(tabHost.newTabSpec("tab3") .setIndicator("tab 3") .setContent(new Intent(this, List3.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)));
..
}
List1.java
=====================================================
public class List1 extends Activity {
...
SharedPreferences pref;
Boolean chk_1 = pref.getBoolean("s_1", false);
Boolean chk_2 = pref.getBoolean("s_2", false);
Boolean chk_3 = pref.getBoolean("s_3", false);
Boolean chk_4 = pref.getBoolean("s_4", false);
Boolean chk_5 = pref.getBoolean("s_5", false);
...
}
===========================================================
log.txt
=====================================================
11-26 07:03:26.183: E/AndroidRuntime(5064): FATAL EXCEPTION: main
11-26 07:03:26.183: E/AndroidRuntime(5064): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.test/com.example.test.MainActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.test/com.example.test.List1}: java.lang.NullPointerException
11-26 07:03:26.183: E/AndroidRuntime(5064): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1960)
11-26 07:03:26.183: E/AndroidRuntime(5064): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1985)
11-26 07:03:26.183: E/AndroidRuntime(5064): at android.app.ActivityThread.access$600(ActivityThread.java:127)
11-26 07:03:26.183: E/AndroidRuntime(5064): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1151)
11-26 07:03:26.183: E/AndroidRuntime(5064): at android.os.Handler.dispatchMessage(Handler.java:99)
11-26 07:03:26.183: E/AndroidRuntime(5064): at android.os.Looper.loop(Looper.java:137)
11-26 07:03:26.183: E/AndroidRuntime(5064): at android.app.ActivityThread.main(ActivityThread.java:4482)
11-26 07:03:26.183: E/AndroidRuntime(5064): at java.lang.reflect.Method.invokeNative(Native Method)
11-26 07:03:26.183: E/AndroidRuntime(5064): at java.lang.reflect.Method.invoke(Method.java:511)
11-26 07:03:26.183: E/AndroidRuntime(5064): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:788)
11-26 07:03:26.183: E/AndroidRuntime(5064): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
11-26 07:03:26.183: E/AndroidRuntime(5064): at dalvik.system.NativeStart.main(Native Method)
11-26 07:03:26.183: E/AndroidRuntime(5064): Caused by: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.test/com.example.test.List1}: java.lang.NullPointerException
11-26 07:03:26.183: E/AndroidRuntime(5064): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1960)
11-26 07:03:26.183: E/AndroidRuntime(5064): at android.app.ActivityThread.startActivityNow(ActivityThread.java:1801)
11-26 07:03:26.183: E/AndroidRuntime(5064): at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:135)
11-26 07:03:26.183: E/AndroidRuntime(5064): at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:347)
11-26 07:03:26.183: E/AndroidRuntime(5064): at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:682)
11-26 07:03:26.183: E/AndroidRuntime(5064): at android.widget.TabHost.setCurrentTab(TabHost.java:346)
11-26 07:03:26.183: E/AndroidRuntime(5064): at android.widget.TabHost.addTab(TabHost.java:236)
11-26 07:03:26.183: E/AndroidRuntime(5064): at com.example.test.MainActivity.onCreate(MainActivity.java:29)
11-26 07:03:26.183: E/AndroidRuntime(5064): at android.app.Activity.performCreate(Activity.java:4701)
11-26 07:03:26.183: E/AndroidRuntime(5064): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1051)
11-26 07:03:26.183: E/AndroidRuntime(5064): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1924)
11-26 07:03:26.183: E/AndroidRuntime(5064): ... 11 more
11-26 07:03:26.183: E/AndroidRuntime(5064): Caused by: java.lang.NullPointerException
11-26 07:03:26.183: E/AndroidRuntime(5064): at com.example.test.List1.onCreate(List1.java:46)
11-26 07:03:26.183: E/AndroidRuntime(5064): at android.app.Activity.performCreate(Activity.java:4701)
11-26 07:03:26.183: E/AndroidRuntime(5064): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1051)
11-26 07:03:26.183: E/AndroidRuntime(5064): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1924)
11-26 07:03:26.183: E/AndroidRuntime(5064): ... 21 more
원래 탭엑티비티로 바꾸기 전에
그냥 메인 버튼 세개 만들어서 각각 버튼 눌렀을때 List1, 2, 3 액티비티로 넘어가는 거였습니다.
그런데 메인을 탭엑티비티로 바꾸면서
SharedPreferences만 쓰면 위와같이 에러가 납니다..
하나하나 주석걸어가면서 실행시켜보니까 SharedPreferences에서 걸리네요 ㅠㅠ
혹시 원인을 알 수 있을까요?




example.test.List1의 onCreate부분에서 46째 줄에 널포인터 객체를 참조하는 것이 있답니다.
46번째 줄의 소스코드를 확인해보세요.
대충보아하니 SharedPreferences pref; 이 46번째 줄 같습니다.
소스를 보니 SharedPreferences 객체를 선언만 하신듯합니다.
getSharedPreferences(String name, int mode) 를 통해 SharedPreferences 를 받아와서 사용하셔야 할 것 같습니다.