2012-01-02 15 views
0

私はスクロールビューを持っています。 scrollviewには1つの要素しか含めることができないので、TableLayout内にラジオグループとその下のボタン(プレースホルダとして機能する)を配置します。Eclipseはレイアウトxmlの要素の無駄を訴えます

<ScrollView 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_vertical|center_horizontal" > 

      <TableLayout 
       android:layout_width="300sp" 
       android:layout_height="wrap_content" > 

       <TableRow> 
        <RadioGroup 
         android:id="@+id/radioStateChoice" 
         android:layout_width="fill_parent" 
         android:layout_height="wrap_content" 
         android:orientation="vertical" > 

         <RadioButton 
          android:id="@+id/radioW" 
          style="@style/CheckboxRadioStyle" 
          android:checked="true" 
          android:text="@string/wien" /> 

         <RadioButton 
          android:id="@+id/radioNoe" 
          style="@style/CheckboxRadioStyle" 
          android:text="@string/noe" /> 

         <RadioButton 
          android:id="@+id/radioOoe" 
          style="@style/CheckboxRadioStyle" 
          android:text="@string/ooe" /> 

         <!-- there are usually more radio buttons --> 
         <!-- I have shortened it to keep the example smaller --> 
        </RadioGroup> 
       </TableRow> 

       <TableRow> 
        <Button 
         android:layout_width="60sp" 
         android:layout_height="50sp" 
         android:visibility="invisible" /> 
       </TableRow> 
      </TableLayout> 
     </ScrollView> 

ここでEclipseはxml警告を表示します:"The RadioGroup layout or its TableRow parent is possibly useless"。 彼らはどのように役に立たないのでしょうか?まず第一に、私が選択したラジオボタンにアクセスするradiogroupのを必要とする:

 int selectedRadioId = radioGroup.getCheckedRadioButtonId(); 
     RadioButton selectedRadioButton = (RadioButton)findViewById(selectedRadioId); 

を私は唯一ScrollView内の一つの要素を持つことができることTableLayoutは、事実のために必要です。下のプレースホルダボタンのため、私はTableViewを選択しました。それで何が間違っていますか?

答えて

1

テーブルレイアウトの親としてテーブルの行要素を使用しているためだと思います。

テーブルレイアウトに行を追加しているので、xmlからelelmentを削除することができます。あなたがここに無用ですので、日食ショーの親として、私はあなたがテーブルに一列のみを使用する場合、それが起こると思います

+0

あなたが正しいです、私はTableRowsを省略することができます。これが動作することを知らなかった。 – Bevor

+2

あなたはそれから2〜3つの文章を作れますか?終わりのない言葉を理解することは本当に難しいです。 – WarrenFaith

+0

あなたは正確に何を理解していませんか?私はすべての行を削除したので、これは正しく動作するように、私はTableRowsを省略します。 – Bevor

0

私は、単純なLinearLayoutは仕事をする必要があるので、テーブルは役に立たないと思います。注意深く読んでください:possibly uselessはそれが役に立たないということを意味しません。

+0

レイアウトがもはや適合しないため、LinearLayoutは機能しません。もし役に立たないとすれば、それは実際には警告であってはなりません。 – Bevor

+0

私はこれがもう収まりきれない理由を知りません...とにかく、あなたが解決策を見つけたことを知りました。 – WarrenFaith

+0

明らかに、プレースホルダボタンは何とか無視されていたので、ScrollViewはTableLayoutと同様に期待通りに機能しませんでした。私はLinearLayoutで動作させることができませんでした。 – Bevor

0

のための役に立たない親の警告、私は2つの以上の行を使用瞬間を使用して

メッセージが消えます。 (なぜ、1つのテーブルに1つの行しか置かないのか、テーブルそのものはすでに1つの行がこの背後にある考えでなければなりません)。

関連する問題