单击按钮时启动选项卡活动的问题

发布于 2024-11-27 08:14:43 字数 5430 浏览 2 评论 0原文

我已经浏览了有关在单击按钮时启动新选项卡活动的 stackover flow 上的链接。

我在 logcat 上收到以下消息:

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:

Intent newIntent = new Intent(
                                    getApplicationContext(), HomeTabActivity.class);
                            newIntent.putExtra("Userid", message);
                            newIntent.putExtra("Password", txtPswrd.getText()
                                    .toString());
                            startActivity(newIntent);

此外,我还在 homeTabActivity 上添加了三个不同的活动 changePassword、editprofile 和 homeActivity。

我的 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>

I have gone through links on stackover flow on starting new tab activity on button click.

I am getting following on logcat :

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

I am trying to start HomeTabActivity on click of login button as :

Intent newIntent = new Intent(
                                    getApplicationContext(), HomeTabActivity.class);
                            newIntent.putExtra("Userid", message);
                            newIntent.putExtra("Password", txtPswrd.getText()
                                    .toString());
                            startActivity(newIntent);

Also I have added three different activities changePassword,editprofile and homeActivity on homeTabActivity.

the code for my homeTabActivity.java is

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);

and the code segment i added for this in manifest file is :

<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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦冥 2024-12-04 08:14:43

您在第 1 行收到空指针异常。 28 在 HelloTtabActivity 中。在 onCreate() 方法中。邮政行号28 此处或自行解决。

you are getting null pointer exception on line no. 28 in HelloTtabActivity. Inside onCreate() Method. Post line no. 28 here or solve it yourself otherwise.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文