Android 选项卡视图 - 无法创建选项卡内容,因为找不到带有 id 的视图

2023-12-02

我正在尝试创建一个选项卡视图,并将通过 Id 切换到不同的内容视图。这是我的tab activity:

public class TabViews extends TabActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.tabviews);
    TabHost tabHost = getTabHost();

    LayoutInflater.from(this).inflate(R.layout.tabviews, tabHost.getTabContentView(), true);

    tabHost.addTab(tabHost.newTabSpec("apples")
            .setIndicator("Apples")
            .setContent(R.id.apples));
    tabHost.addTab(tabHost.newTabSpec("events")
            .setIndicator("Events")
            .setContent(R.id.events));
    tabHost.addTab(tabHost.newTabSpec("attend")
            .setIndicator("Attending")
            .setContent(R.id.attend));
}
}

这是 tabviews xml 布局。

<?xml version="1.0" encoding="utf-8"?>

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView android:id="@+id/view1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:text="test"/>   

<TextView android:id="@+id/view2"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:text="test"/>

<TextView android:id="@+id/view3"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:text="test"/>

</FrameLayout>

我还有其他三个 xml 布局参加、事件和苹果,我可以通过创建调用的新意图来访问它们startActivity在那Intent.

这是我的 R.java 类:

public final class R {
public static final class attr {
}
public static final class drawable {
    public static final int bdgdefault=0x7f020000;
    public static final int logo=0x7f020001;
    public static final int black_0=0x7f020002;
    public static final int black_1=0x7f020003;
    public static final int black_2=0x7f020004;
    public static final int black_3=0x7f020005;
    public static final int black_4=0x7f020006;
    public static final int blue_0=0x7f020007;
    public static final int blue_1=0x7f020008;
    public static final int blue_2=0x7f020009;
    public static final int blue_3=0x7f02000a;
    public static final int blue_4=0x7f02000b;
    public static final int brown_0=0x7f02000c;
    public static final int brown_1=0x7f02000d;
    public static final int brown_2=0x7f02000e;
    public static final int brown_3=0x7f02000f;
    public static final int brown_4=0x7f020010;
    public static final int btn_black=0x7f020011;
    public static final int btn_black_1=0x7f020012;
    public static final int btn_black_off=0x7f020013;
    public static final int btn_dropdown_down=0x7f020014;
    public static final int btn_dropdown_left_only=0x7f020015;
    public static final int btn_dropdown_left_right_collapsed=0x7f020016;
    public static final int btn_dropdown_neither=0x7f020017;
    public static final int btn_dropdown_neither_up_down=0x7f020018;
    public static final int btn_dropdown_right_only=0x7f020019;
    public static final int btn_dropdown_up=0x7f02001a;
    public static final int btn_dropdown_up_down=0x7f02001b;
    public static final int btn_white=0x7f02001c;
    public static final int button=0x7f02001d;
    public static final int grac=0x7f02001e;
    public static final int ic_launcher=0x7f02001f;
    public static final int ic_menu_jitsu=0x7f020020;
    public static final int ic_menu_jiu=0x7f020021;
    public static final int ic_menu_name=0x7f020022;
    public static final int mainlogo=0x7f020023;
    public static final int purple_0=0x7f020024;
    public static final int purple_1=0x7f020025;
    public static final int purple_2=0x7f020026;
    public static final int purple_3=0x7f020027;
    public static final int purple_4=0x7f020028;
    public static final int red_0=0x7f020029;
    public static final int red_1=0x7f02002a;
    public static final int mylogo=0x7f02002b;
    public static final int spinner_press=0x7f02002c;
    public static final int spinner_select=0x7f02002d;
    public static final int white_0=0x7f02002e;
    public static final int white_1=0x7f02002f;
    public static final int white_2=0x7f020030;
    public static final int white_3=0x7f020031;
    public static final int white_4=0x7f020032;
}
public static final class id {
    public static final int amattendees=0x7f060006;
    public static final int attend=0x7f060013;
    public static final int attendam=0x7f060000;
    public static final int attendboth=0x7f060002;
    public static final int attendpm=0x7f060001;
    public static final int back=0x7f06000f;
    public static final int bdg=0x7f06000b;
    public static final int bdgBackground=0x7f060009;
    public static final int btn_login=0x7f06001b;
    public static final int btn_newuser=0x7f06001c;
    public static final int description=0x7f060011;
    public static final int details=0x7f06000c;
    public static final int emailaddress=0x7f060019;
    public static final int events=0x7f06000e;
    public static final int grouplogo=0x7f060012;
    public static final int mainlogo=0x7f060018;
    public static final int nearestvenue=0x7f060016;
    public static final int notattending=0x7f060003;
    public static final int password=0x7f06001a;
    public static final int playbutton=0x7f060014;
    public static final int pmattendees=0x7f060007;
    public static final int progressBar=0x7f06000d;
    public static final int qrdecode=0x7f060015;
    public static final int rewarddate=0x7f060010;
    public static final int textView1=0x7f060017;
    public static final int title=0x7f060008;
    public static final int tv_am=0x7f060004;
    public static final int tv_pm=0x7f060005;
    public static final int view1=0x7f06001d;
    public static final int view2=0x7f06001e;
    public static final int view3=0x7f06001f;
    public static final int wv_qr=0x7f06000a;
}
public static final class layout {
    public static final int attend=0x7f030000;
    public static final int apples=0x7f030001;
    public static final int events=0x7f030002;
    public static final int list_items_attendees=0x7f030003;
    public static final int main=0x7f030004;
    public static final int tabviews=0x7f030005;
}
public static final class string {
    public static final int AM=0x7f040009;
    public static final int Login=0x7f040002;
    public static final int Update=0x7f04000a;
    public static final int am=0x7f04000d;
    public static final int amattendees=0x7f040011;
    public static final int app_name=0x7f040001;
    public static final int attend_both=0x7f04000f;
    public static final int attend_pm=0x7f04000e;
    public static final int back=0x7f040005;
    public static final int badge_details=0x7f040006;
    public static final int email_text=0x7f040007;
    public static final int empty=0x7f04000c;
    public static final int events=0x7f040004;
    public static final int hello=0x7f040000;
    public static final int new_user=0x7f040003;
    public static final int not_attending=0x7f040010;
    public static final int password_text=0x7f040008;
    public static final int pmattendees=0x7f040012;
    public static final int qrdecode=0x7f04000b;
}
public static final class style {
    public static final int ButtonText=0x7f050000;
}
}

这是我收到的错误:

04-17 10:14:48.608: E/AndroidRuntime(11307):java.lang.RuntimeException: Unable to start activity ComponentInfo{org.jujitsu.app.com/org.jujitsu.app.com.TabViews}:java.lang.RuntimeException: Could not create tab content because could not find view with id 2131099659

more:

04-17 10:14:48.608: E/AndroidRuntime(11307):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1816)
04-17 10:14:48.608: E/AndroidRuntime(11307):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1837)
04-17 10:14:48.608: E/AndroidRuntime(11307):    at android.app.ActivityThread.access$1500(ActivityThread.java:132) 
04-17 10:14:48.608: E/AndroidRuntime(11307):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1033)
04-17 10:14:48.608: E/AndroidRuntime(11307):    at android.os.Handler.dispatchMessage(Handler.java:99) 
04-17 10:14:48.608: E/AndroidRuntime(11307):    at android.os.Looper.loop(Looper.java:143)
04-17 10:14:48.608: E/AndroidRuntime(11307):    at android.app.ActivityThread.main(ActivityThread.java:4196) 
04-17 10:14:48.608: E/AndroidRuntime(11307):    at java.lang.reflect.Method.invokeNative(Native Method) 
04-17 10:14:48.608: E/AndroidRuntime(11307):    at java.lang.reflect.Method.invoke(Method.java:507) 
04-17 10:14:48.608: E/AndroidRuntime(11307):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-17 10:14:48.608: E/AndroidRuntime(11307):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
04-17 10:14:48.608: E/AndroidRuntime(11307):    at dalvik.system.NativeStart.main(Native Method) 
04-17 10:14:48.608: E/AndroidRuntime(11307): Caused by: java.lang.RuntimeException: Could not create tab content because could not find view with id 2131099659
04-17 10:14:48.608: E/AndroidRuntime(11307):    at android.widget.TabHost$ViewIdContentStrategy.<init>(TabHost.java:595)
04-17 10:14:48.608: E/AndroidRuntime(11307):    at android.widget.TabHost$ViewIdContentStrategy.<init>(TabHost.java:586)
04-17 10:14:48.608: E/AndroidRuntime(11307):    at android.widget.TabHost$TabSpec.setContent(TabHost.java:441) 
04-17 10:14:48.608: E/AndroidRuntime(11307):    at org.jujitsu.app.com.TabViews.onCreate(TabViews.java:26) 
04-17 10:14:48.608: E/AndroidRuntime(11307):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
04-17 10:14:48.608: E/AndroidRuntime(11307):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1780)
04-17 10:14:48.608: E/AndroidRuntime(11307):    ... 11 more

不确定我做错了什么。我对此有点陌生。

更新:好吧..我的意思是..我想使用选项卡更改活动。我就是这样做的。答案是通过 Intent 设置内容,而不是使用 tabHost.addTab(tabHost.newTabSpec("tab2") .setIndicator("Something") .setContent(new Intent(this, myActivity.class)));

感谢所有提供帮助的人。这让我考虑了更多的选择。

干杯,乔。


你的 xml 应该有类似的内容,

  <TabHost
          xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@android:id/tabhost"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          >

    <FrameLayout  
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView android:id="@+id/view1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="test"/>   

    <TextView android:id="@+id/view2"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="test"/>

    <TextView android:id="@+id/view3"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="test"/>

    </FrameLayout>
    </TabHost>

例子:http://www.androidhive.info/2011/08/android-tab-layout-tutorial/http://www.codeproject.com/Articles/107693/Tabbed-Applications-in-Android

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 选项卡视图 - 无法创建选项卡内容,因为找不到带有 id 的视图 的相关文章

  • 使用DBFlow,如何加密已经存在的数据库?

    我正在使用 DBFlow 来处理项目中的数据库 并且我想对现有数据库进行加密 我知道我可能必须删除现有的未加密数据库并创建另一个加密数据库 我也知道我可以将 SQLCipher 与 DBFlow 一起使用 如上所述文档 https gith
  • 无法在 Android Studio 中导出签名的 APK

    当我使用keytool list keystore path to keyfile jks并提供我的密码 我可以看到那里的条目 但是当我在尝试使用相同的密码生成签名的 APK 时使用相同的密码时 我收到错误 无法加载密钥库 密钥库被篡改 或
  • 如何在不使用 Firebase 控制台的情况下发送 Firebase 云消息通知?

    我从新的 Google 通知服务开始 Firebase Cloud Messaging 感谢这段代码https github com firebase quickstart android tree master messaging htt
  • relativelayout导致动画不起作用?

    我有一个活动 其布局仅包含一个 VideoView 这是 XML
  • 如何在Android中的DataBinding的ViewModel类中获取R.string

    我目前正在使用databinding对于我的 Android 应用程序项目 我想设置error留言在我的CustomTextView from R string txtOldPassWordError并从另一个名为的类中进行设置ViewMo
  • 使用 DataBinding 测试片段时膨胀类 Fragment 时出错

    有人可以帮我解决这个问题吗 在我的测试中 我想检查登录按钮是否显示在起始页上 今天我已经为这个错误苦苦挣扎了一段时间 我不知道应该如何解决它 我在这里错过了什么 也许这个问题与这个问题有些相似 Espresso 测试失败 并显示 java
  • 如何绘制部分位图圆弧?类似于圆形进度轮,但具有显示得越来越多的位图。

    我正在寻找的是一种以顺时针圆形方式显示图像的视图 当进度为 25 时 应显示前 90 度 当进度为 100 时 应绘制完整的 360 度 它与使用 canvas drawArc 非常接近 但此方法仅适用于 Paint 对象 不适用于位图 其
  • Android 和 Google 地图内部片段以及其他控件和 viewpager

    我是android编程新手 我有一个带有 3 个页面 片段 的小应用程序 使用 pageradapter 和 viewpager 在它们之间滑动 其中一个页面包含复选框 和其他控件 和地图 我的问题是程序在启动时崩溃 Fragment co
  • FragmentActivity 无法解析为类型

    我正在尝试来自的应用程序这个博客 http android developers blogspot com 2011 02 android 30 fragments api html 在延长的同时FragmentActivity 我收到以下
  • 如何在android中的谷歌地图上聚焦标记

    我只是想知道我们是否可以关注 Android 应用程序中添加的标记 如果是 怎么办 或者有没有其他方法可以完成这项任务 可以说我使用下面的代码添加了一个标记 map addMarker new MarkerOptions title tit
  • Android:WebView/BaseInputConnection 中的退格键

    我在 Android 4 2 中遇到软键盘退格问题 我在 WebView CodeMirror 中有一个自定义编辑器 它使用一个空的
  • 如何在Android模拟器中隐藏应用程序图标?

    我有一个应用程序在启动完成后自动启动 但应用程序图标显示在android模拟器中 现在我想向用户隐藏该图标 这样用户就无法知道应用程序已启动 并且他们无法启动该应用程序手动申请 在您的 AndroidManifest xml 文件中 您可能
  • 双屏 Android Studio 中不显示自动补全

    我刚刚从 Eclipse 切换到 Android Studio IntelliJ 我不明白自动补全是如何工作的 我尝试了 Control Space Control Shift Space 但没有相关建议 不在 Java 文件中 也不在布局
  • 活动加载缓慢

    我的应用程序中有大约 50 个活动 但其中一个活动非常慢 我的意思是当我按下按钮进入该活动时 需要很长时间 有时会出现黑屏 在该活动中 我有一个按钮 如果我单击该按钮 则需要很长时间才能执行 代码很轻 只有一个Button EditText
  • Expresso 的 Android 测试首选项片段

    我在通过 Expresso 测试我的代码时遇到问题 我写了这段代码 public class SettingsActivity extends Activity Override protected void onCreate Bundle
  • 了解应用程序在后台时何时收到 Firebase 消息

    我知道这个标题有同样的问题 但不幸的是它没有得到正确的回答 它被接受了 here https stackoverflow com questions 37711082 how to handle notification when app
  • 使 Recyclerview 固定高度并可滚动

    已解决以下检查答案 所以我试图为我的 Android 应用程序创建评论功能 我想在 recyclerview 中显示评论 然后在 recyclerview 下方有一个按钮和文本视图来添加评论 我想让 recyclerview 具有一定的高度
  • onPrepareOptionsMenu 复制 ActionBar 中的项目

    当我使用 onPrepareOptionsMenu 添加菜单项时 该菜单项会在操作栏中复制其自身 我正在使用片段并在主要活动的 ActionBar 中创建初始菜单 如下所示 Override public boolean onCreateO
  • 调试android数据绑定?

    谁能告诉我如何调试或找到数据绑定生成的代码 从this https www youtube com watch v NBbeQMOcnZ0链接我发现它生成了所需的代码 我猜您正在寻找自动生成的绑定 java 文件 我也在寻找他们 最后我在这
  • Android 的代码覆盖率[重复]

    这个问题在这里已经有答案了 可能的重复 Android测试代码覆盖率 Eclipse https stackoverflow com questions 3282702 android test code coverage eclipse

随机推荐