0

我有一个 tabhost 小部件,它使用 Intents 启动不同的活动。

TabSpec tab = mTabHost.newTabSpec("profile");
tab.setIndicator("profile");
Intent i3 = new Intent(ctx, ProfileActivity.class);
tab.setContent(i3);
mTabHost.addTab(tab);

所有的孩子都被定义为嵌入的:

    <activity android:exported="false" android:name="com.example.app.ProfileActivity" android:label="ProfileActivity view">
       <intent-filter>
          <category android:name="android.intent.category.EMBED"></category>
          <action android:name="android.intent.action.MAIN"></action>
       </intent-filter>
    </activity>

不幸的是,我的 ProfileActivity onResume 函数中偶尔会出现崩溃。

它在这一行崩溃,因为getParent()返回 null。

((MainActivity) getParent()).goToTab("splash")

它并非一直都在发生——它是非常偶然的。

有人遇到过这个问题吗?

4

1 回答 1

0

正如文档所说:public final Activity getParent ()自:API 级别 1

如果此视图是嵌入式子视图,则返回父 Activity。

您的 Activity 是嵌入式子项吗?如果是,那么它将返回父活动上下文,否则null

于 2013-09-02T09:17:22.257 回答