2011-12-30 2 views
0

これはXMLの質問かAndroidの質問か分かりません。私は異なるレイアウトで繰り返されるXMLの構造を持っているので、それを抽出してそれを独自のファイルに保存します。これには、TableLayoutの3行が含まれています。私はXMLファイルにエラーが発生しています。どんな考え?それは外部のXMLレイアウトがないからです。AndroidレイアウトのXMLファイルに行のみを含めることはできますか?

ありがとうございます!

これは新しいxmlファイルの内容です。これを後で(レイアウトを使用して)メインレイアウトファイルに挿入します。

<?xml version="1.0" encoding="utf-8"?> 
    <TableRow 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:gravity="center_vertical"> 
     <Button 
      android:id="@+id/button_calc" 
      android:layout_column="1" 
      android:layout_span="2" /> 
    </TableRow> 
    <TableRow android:gravity="center_vertical"> 
     <TextView 
      android:textColor="@color/black" 
      android:id="@+id/title_res" 
      android:layout_column="1" 
      android:padding="5dp" /> 
     <TextView 
      android:textColor="@color/black" 
      android:id="@+id/res" 
      android:layout_column="1" 
      android:textSize="25dp" /> 
    </TableRow> 
    <TableRow android:gravity="center_vertical"> 
     <TextView 
      android:id="@+id/title_res_etc" 
      android:textColor="@color/black" 
      android:layout_column="1" 
      android:paddingLeft="5dp" 
      android:layout_span="2" /> 
    </TableRow> 
+0

このファイルをどのように参照していますか? http://developer.android.com/training/improving-layouts/reusing-layouts.htmlも読んでください。 – Jack

答えて

0

あなたはその中に複数のViewを含むように親レイアウトとしてViewGroupを使用する必要があります。 ViewGroupの サブクラスは、サブクラスのいくつかは

LinearLayout 
RelativeLayout 
FrameLayout 
TableLayout 

ので

にそう、あなたが任意のレイアウトすなわち内のすべてのビューをラップする必要がある1つのレイアウトで複数の Viewを持っているレイアウト を管理するために使用されています。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" android:layout_height="fill_parent" 
     android:orientation="vertical"> 
     <Button 
      android:id="@+id/button_calc" 
      android:layout_width="fill_parent" android:layout_height="fill_parent" /> 
     <!--Other views goes here--> 
</LinearLayout> 

、あなたはそれがTableLayout内にラップする必要がありますTableRow表示したい場合はそうでない場合、あなたのLayoutParamsがnであります適用対象:TableRow

1

すべてのtablerowsはテーブルレイアウト内にある必要があります。ここでandriodチュートリアルでテーブルレイアウトを使用する方法について説明します。 Android table layout

+0

私はそれらをTableLayoutの中に入れていますが?基本レイアウトファイルには、すなわち、<含めるレイアウト=「@レイアウト/ RESULT_ROWS」/> TableLayoutが含まれており、このxmlファイルが含まれます – zundi

+0

私が正しくあなたの質問を理解していれば、それはまだあなたが別のレイアウトでこれを含めるでも動作するはずです。 – kosa

0

正しいですが、行だけがあります。列は、各行の最初の項目を見て、それから列を作ります。

なぜコードが機能しないのかについては、TableLayoutでラップする必要があります。あなたがそうするなら、うまくいくはずです。

+0

私はそれらをTableLayoutの中に入れていますが?基本レイアウトファイルにはTableLayoutが含まれており、このXMLファイルは zundi

関連する問題