0

我正在为我的主要活动的各个选项卡使用不同的布局文件。我已经改变了很多。我最初尝试将 tab2.xml 的相对布局设置为 wrap_content,但这并没有帮助。我更改了包含文件的 id 并在我的 java 代码中调用它,但没有用。我尝试了最明显的那些。现在,我不知道出了什么问题。此外,我之前确实这样做过,并且它在 tab2.xml 的高度和宽度处于 match_parent 模式时运行良好。现在的程序应用程序。调试控制台中显示的代码行是“setContentView(R.layout.activity);”。因此,绝对是布局文件,代码中没有任何内容导致应用程序崩溃。

这是主要活动的 xml 代码:“activity.xml”

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:context=".CleanUp" >

<TabHost
    android:id="@android:id/tabhost"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true" >

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

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@style/MyTheme" >

        </TabWidget>

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="match_parent"
            android:layout_height="match_parent" >


            <include layout="@layout/tab2"/>            


        </FrameLayout>

    </LinearLayout>
</TabHost>

</RelativeLayout>

这是tab2.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
                android:id="@+id/tab2"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                tools:context=".CleanUp"  >

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_toRightOf="@+id/textView1"
    android:layout_marginTop="40dp"
    android:layout_marginRight="20dp"
    android:inputType="text"
    android:ems="10" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/editText1"
    android:layout_alignBottom="@+id/editText1"
    android:layout_alignParentLeft="true"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="10dp"
    android:text="Custom extension:"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:text="Clean" />

</RelativeLayout>

这是我在 Activity 类中用于选项卡的代码:

TabHost tabHost = (TabHost) findViewById(android.R.id.tabhost);
    tabHost.setup();
    TabSpec tab1 = tabHost.newTabSpec("Clean Up");
    tab1.setIndicator("Clean up");
    tab1.setContent(R.id.tab2);
    tabHost.addTab(tab1);

LOGCAT 错误

http://pastebin.com/DcXGdCuF

4

1 回答 1

2

此 LogCat 行:

Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f050002 a=-1 r=0x7f050002}

让我相信你的错误是在这一行:

android:background="@style/MyTheme"

您不能将@style/X属性用作背景。您必须将其传递给可绘制对象:

android:background="@drawable/MyDrawable"

或者正确地使用它作为一种风格:

style="@style/MyTheme"
于 2012-12-15T04:03:11.950 回答