gpt4 book ai didi

android - 在创建包含组之前无法添加 Activity 在 addTab 处抛出错误

转载 作者:行者123 更新时间:2023-11-30 01:35:14 25 4
gpt4 key购买 nike

我正在开发一个 Android 应用程序,我想使用 4 个选项卡进行导航,每个选项卡都使用 Activites。在这里我添加了我尝试过的代码

这是我的 TabHostActivity

public class TabHostActivity extends Activity {


public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tab_host);
context = getApplicationContext();
TabHost tabHost = (TabHost) findViewById(android.R.id.tabhost);
LocalActivityManager mLocalActivityManager = new LocalActivityManager(this, false);
tabHost.setup(mLocalActivityManager);

TabHost.TabSpec tag4= tabHost.newTabSpec(TAB_4_TAG);
TabHost.TabSpec tag3= tabHost.newTabSpec(TAB_3_TAG);
TabHost.TabSpec tag2= tabHost.newTabSpec(TAB_2_TAG);
TabHost.TabSpec tag1= tabHost.newTabSpec(TAB_1_TAG);
tag1.setIndicator("AboutCollege", getResources().getDrawable(R.drawable.college)).setContent(new Intent(this, AboutCollegeActivity.class));
tag2.setIndicator("Focus of Course", getResources().getDrawable(R.drawable.course)).setContent(new Intent(this, AboutCollegeActivity.class));
tag3.setIndicator("Admision", getResources().getDrawable(R.drawable.admission)).setContent(new Intent(this, AboutCollegeActivity.class));
tag4.setIndicator("Contact Details", getResources().getDrawable(R.drawable.contact)).setContent(new Intent(this, AboutCollegeActivity.class));
tabHost.addTab(tag1);
tabHost.addTab(tag2);
tabHost.addTab(tag3);
tabHost.addTab(tag4);


}
}

这是我的 tabHost.xml

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="match_parent" android:layout_height="match_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</LinearLayout>

</TabHost>

这是错误日志

15:41.601 12232-12232/com.after2.svirtzone.after2_gradle
E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.after2.svirtzone.after2_gradle/com.after2.svirtzone.after2_gradle.TabHostActivity}: java.lang.IllegalStateException:
Activities can't be added until the containing group has been created.
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2262)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2316)
at android.app.ActivityThread.access$700(ActivityThread.java:158)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1296)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:5365)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalStateException: Activities can't be added until the containing group has been created.
at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:262)
at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:820)
at android.widget.TabHost.setCurrentTab(TabHost.java:484)
at android.widget.TabHost.addTab(TabHost.java:286)
at com.after2.svirtzone.after2_gradle.TabHostActivity.onCreate(TabHostActivity.java:70)
at android.app.Activity.performCreate(Activity.java:5326)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2225)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2316)
at android.app.ActivityThread.access$700(ActivityThread.java:158)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1296)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:5365)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
at dalvik.system.NativeStart.main(Native Method)

当我从另一个 Activity 中单击按钮时,它会移动到此选项卡主机。在这里我得到了错误日志中的异常。我已经搜索过,但不幸的是,我没有得到明确的答案。

最佳答案

希望对你有帮助

TabActivity
extends ActivityGroup
java.lang.Object

↳ android.content.Context
↳ android.content.ContextWrapper
↳ android.view.ContextThemeWrapper
↳ android.app.Activity
↳ android.app.ActivityGroup
↳ android.app.TabActivity

此类在 API 级别 13 中已弃用。新的应用程序应该使用 Fragments 而不是这个类;要继续在旧设备上运行,您可以使用 v4 支持库,该库提供了与 DONUT 兼容的 Fragment API 版本。

http://developer.android.com/reference/android/app/TabActivity.html

关于android - 在创建包含组之前无法添加 Activity 在 addTab 处抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35193968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com