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);

ログキャットエラー

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属性を背景として使用することはできません。drawable を渡す必要があります。

android:background="@drawable/MyDrawable"

または、適切にスタイルとして使用します。

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