在TabHost子活动内的onResume中,getParent()为null



我有一个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 on Resume函数中看到崩溃。

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

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

这种情况并不是一直都在发生,只是偶尔发生的。

有人有这个问题吗?

如文档所述:public final Activity getParent ()自:API 1级

如果此视图是嵌入的子视图,则返回父活动。

您的活动是否为嵌入式子项?如果是,则返回父活动上下文,否则返回null

相关内容

  • 没有找到相关文章

最新更新