0
버튼 클릭시 새 탭 활동 시작시 스택 오버 플로우에 대한 링크를 살펴 보았습니다.버튼 클릭시 시작 탭 활동에 문제가 발생했습니다.
내가 얻고 로그 캣에 다음
07-30 13:08:10.460: ERROR/AndroidRuntime(304): FATAL EXCEPTION: main
07-30 13:08:10.460: ERROR/AndroidRuntime(304): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.biz.mlm/com.biz.mlm.HomeTabActivity}: java.lang.NullPointerException
07-30 13:08:10.460: ERROR/AndroidRuntime(304): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
07-30 13:08:10.460: ERROR/AndroidRuntime(304): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
07-30 13:08:10.460: ERROR/AndroidRuntime(304): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
07-30 13:08:10.460: ERROR/AndroidRuntime(304): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
07-30 13:08:10.460: ERROR/AndroidRuntime(304): at android.os.Handler.dispatchMessage(Handler.java:99)
07-30 13:08:10.460: ERROR/AndroidRuntime(304): at android.os.Looper.loop(Looper.java:123)
07-30 13:08:10.460: ERROR/AndroidRuntime(304): at android.app.ActivityThread.main(ActivityThread.java:4627)
07-30 13:08:10.460: ERROR/AndroidRuntime(304): at java.lang.reflect.Method.invokeNative(Native Method)
07-30 13:08:10.460: ERROR/AndroidRuntime(304): at java.lang.reflect.Method.invoke(Method.java:521)
07-30 13:08:10.460: ERROR/AndroidRuntime(304): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
07-30 13:08:10.460: ERROR/AndroidRuntime(304): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
07-30 13:08:10.460: ERROR/AndroidRuntime(304): at dalvik.system.NativeStart.main(Native Method)
07-30 13:08:10.460: ERROR/AndroidRuntime(304): Caused by: java.lang.NullPointerException
07-30 13:08:10.460: ERROR/AndroidRuntime(304): at com.biz.mlm.HomeTabActivity.onCreate(HomeTabActivity.java:28)
07-30 13:08:10.460: ERROR/AndroidRuntime(304): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
07-30 13:08:10.460: ERROR/AndroidRuntime(304): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
07-30 13:08:10.460: ERROR/AndroidRuntime(304): ... 11 more
07-30 13:08:10.520: WARN/ActivityManager(58): Force finishing activity com.biz.mlm/.HomeTabActivity
07-30 13:08:10.520: WARN/ActivityManager(58): Force finishing activity com.biz.mlm/.login
로 내가 로그인 버튼의 클릭에 HomeTabActivity을 시작하려고 : 나는 세 가지 다른 활동과 changepassword, editprofile 및 homeActivity을 추가 한 또한
Intent newIntent = new Intent(
getApplicationContext(), HomeTabActivity.class);
newIntent.putExtra("Userid", message);
newIntent.putExtra("Password", txtPswrd.getText()
.toString());
startActivity(newIntent);
에 HomeTabActivity.
내 homeTabActivity.java의 코드는
TabHost tabHost = (TabHost)findViewById(android.R.id.tabhost); // The activity TabHost
TabHost.TabSpec spec; // Reusable TabSpec for each tab
Intent intent; // Reusable Intent for each tab
// Create an Intent to launch an Activity for the tab (to be reused)
intent = new Intent().setClass(this,HomeActivity.class);
// Initialize a TabSpec for each tab and add it to the TabHost
spec = tabHost.newTabSpec("Home").setIndicator("Home").setContent(intent);
tabHost.addTab(spec);
// Do the same for the other tabs
intent = new Intent().setClass(this, changePasswordActivity.class);
spec = tabHost.newTabSpec("Change Password").setIndicator("Change Password").setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, editProfileActivity.class);
spec = tabHost.newTabSpec("Edit Profile").setIndicator("Edit Profile").setContent(intent);
tabHost.addTab(spec);
tabHost.setCurrentTab(2);
하고 난 매니페스트 파일이 추가 코드 세그먼트는 다음과 같습니다
<activity android:name=".HomeTabActivity" android:label="Home"
android:theme="@android:style/Theme.NoTitleBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name=".HomeActivity">
<intent-filter>
<action android:name="com.biz.mlm.HomeActivity" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name=".editProfileActivity">
<intent-filter>
<action android:name="com.biz.mlm.editProfileActivity" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name=".changePasswordActivity">
<intent-filter>
<action android:name="com.biz.mlm.changePasswordActivity" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
// 각 탭의 TabSpec을 초기화하고 TabHost에 추가하십시오. spec = tabHost.newTabSpec ("Home"). setIndicator ("Home"). setContent (intent); // 줄 28이 줄에 와트가 틀렸다고 말해 주시겠습니까 ?? – Hisenberg
xml 파일의 tabhost가 android : id = "@ android : id/tabhost"로 선언되었는지 확인하십시오. –