我有一个问题与使用TabHost在一个新意的类型TabActivity我希望你能指给我正确的方向。可笑的是,它工作正常,当我试着去看它在原来的意图:setContentView(R.布局。主)

我得到一个"被迫关闭",并在调整你的,我得到的以下错误虽然我Tabhost id="@问题:id/tabhost":

02-18 22:23:11.937:错误/AndroidRuntime(5944):所引起的:java。郎。异常:你的 内容必须有一个TabHost其id 属性'序。R.身份证。tabhost'

我已经宣布的第二意图Manifest.xml 文件:XML:

<activity android:name=".NextActivity" android:label="@string/app_name" > 

在第一个活动(重置),我开始的第二意图(NextActivity),与其他设施,如下:

Intent nextActivity = new Intent(MainActivity.this,NextActivity.class); 
Bundle b_next=new Bundle(); 

b_next.putString("s_string", myString); 

nextActivity.putExtras(b_next); 

我NextActivity.java 文件中,我获得额外设施和尝试以显示TabHost查看:

public class NextActivity extends TabActivity { 
     @Override 
     public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 

        String myString; 
        Bundle b_initial; 

        b_initial = getIntent().getExtras(); 

        myString = b_initial.getString("s_string"); 

     setContentView(R.layout.main); 

        } 
}

我得到同样的错误使用TabHost例如在开发的网站(你好景):

Main.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="fill_parent" 
    android:layout_height="fill_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"> 
            <TextView 
                android:id="@+id/textview1" 
                android:layout_width="fill_parent" 
                android:layout_height="fill_parent" 
                android:text="this is a tab" /> 
            <TextView 
                android:id="@+id/textview2" 
                android:layout_width="fill_parent" 
                android:layout_height="fill_parent" 
                android:text="this is another tab" /> 
            <TextView 
                android:id="@+id/textview3" 
                android:layout_width="fill_parent" 
                android:layout_height="fill_parent" 
                android:text="this is a third tab" /> 
        </FrameLayout> 
    </LinearLayout> 
</TabHost>

在此先感谢,伙计...

澄清:这是什么我真的获得是从你的指尖:

java。郎。异常
在序。部件。TabHost.dispatchWindowFocusChanged(TabHost.java 285) 在序。图。ViewGroup.dispatchWindowFocusChanged(ViewGroup.java 640) 在序。图。ViewGroup.dispatchWindowFocusChanged(ViewGroup.java 640) 在序。图。ViewGroup.dispatchWindowFocusChanged(ViewGroup.java 640) 在序。图。ViewRoot.handleMessage(ViewRoot.java 1645) 在序。操作系统。处理程序。dispatchMessage(Handler.java 99) 在序。操作系统。弯针。环(Looper.java 123) 在序。应用程序。ActivityThread.主(ActivityThread.java 3948) 在java。郎。反映。法。invokeNative(母 法)
在java。郎。反映。法。援引(Method.java 521) 在com.序。内部。操作系统。ZygoteInit$MethodAndArgsCaller.运行(ZygoteInit.java 782) 在com.序。内部。操作系统。ZygoteInit.主(ZygoteInit.java 540) 在安装.系统。NativeStart.主(本机 法)

有帮助吗?

解决方案

我以前构建tabhosts与android:id="@+id/tabhost"的ID。这是否为您工作?

您也可以考虑构建以编程您的选项卡视图:

    TabHost t = getTabHost();
    TabSpec tab = t.newTabSpec(label)
                   .setIndicator(label, icon)
                   .setContent(intent);
    t.addTab(tab);

其他提示

我有同样的问题。幸运的是有一个快速解决:

  1. 删除 R 文件。
  2. 等待你的IDE产生的文件。
  3. 利润!

我复制并粘贴代码,并注意到在id属性我有:

android:id="@+id/tabs" 

当我真正想要的是:

android:id="@android:id/tabs"

我也遇到了这个问题。我有没有在我的RES /布局对我的代码链接正确的XML文件。当我固定的命名,问题消失。

尽管我已经改变了我的main.xml来使用android:id="@android:id/tabhost"喜欢说的错误,它一直试图使用旧名称。终于让我找到文件RES /布局端口/ main.xml中,这是相同的main.xml除了使用了错误的机器人:ID。我一定不小心添加了一个纵向视图,它紧紧依靠旧值。任一固定画像文件或取出它修复我的问题。

我也有这个错误。对于我,它会混淆(通过ProGuard的)之后出现,预混淆它是细

在最后,我改名为我的布局文件,以更复杂的东西和独特的,ProGuard的没惹了链接。位easer比下降ProGuard的configeration路径。

所以我的问题是相似的SapphireSun,但通过不同的工艺表现(和后日食,只是为了让事情有点难度)。

这也许是比较模糊的方式来得到这个错误,但我认为这值得一提了。

"public class NextActivity extends TabActivity" --change TabActivity到的ActivityGroup。

当你想禾润tabhost当问题发生在tabhost.it是确定的。

我遇到一个团队项目相同的错误,使用SVN时。有时,日食上传classes.dex和resources.ap_从项目的bin文件夹和其他人通过SVN更新得到它。

由于这些二进制文件与个体代码个别机器产生,这就是可能在错误的来源。

清洗项目文件(项目 - >清洁)总是解决问题为我们

我有这个问题与“错误:未知的选项‘沿--no-危机’”。如果您更新ADT插件在Eclipse,但没有更新在同一时间的SDK。在Eclipse更新SDK管理器,固定我的问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top