0

私は動的に作成されたウィジェット/ビューの1.N行で満たされたスクロールエリアの下に「固定された行」が必要です。ここで私は(擬似XML)を動作します期待していますものです:私の提案されたレイアウトは賢明か、少なくとも「実行可能」ですか?

<LinearLayout llv (vertical)> 

    <TableLayout tlFixedRow > <-- child of llv 
     <TableRow 
      <Checkbox/> 
      <Checkbox/> 
      <Checkbox/> 
      <TextView "Bla"/> 
     <TableRow /> 
    </TableLayout> 

    <ScrollView sv > <-- child of llv, sibling of tlFixedRow 
     <TableLayout tlDynamicRowsParent > 

     </ TableLayout > 

    </ ScrollView sv>  

</LinearLayout llv> 

...と(最初、固定1後)TableRowsが追加されます。

<LinearLayout llv (vertical)> 

    <TableLayout tlFixedRow > <-- child of llv, sibling of sv 
     <TableRow 
      <TextView "Blee"/> 
      <TextView "Bla"/> 
      <TextView "Bloo"/> 
      <TextView "Bligh"/> 
     <TableRow /> 
    </TableLayout> 

    <ScrollView sv > <-- child of llv, sibling of tlFixedRow 
     <TableLayout tlDynamicRowsParent > 
      <TableRow /> <-- 0..N TableRows, added dynamically 
     </ TableLayout > 

    </ ScrollView sv> 

</LinearLayout llv> 

ので、レイアウトファイルがあります動的に、この疑似コードによって表される:

TableLayout tlDynamic = (TableLayout)findViewById(R.id.tlDynamicRowsParent); 
... 
for i = 0 until theCowsComeHome() do { 
Checkbox ckbx1 = new Checkbox(); 
Checkbox ckbx1 = new Checkbox(); 
Checkbox ckbx1 = new Checkbox(); 
TextView txtView = new txtView(); 
// ... (set some of the Checkbox and textView properties) 

TableRow tr = new TableRow(); 
tlDynamicRowsParent.addView(tr); 
tr.addView(ckbx1); 
tr.addView(ckbx2); 
tr.addView(ckbx3); 
tr.addView(txtView); 
} 

このようにして本当に、私の仮定は以下のとおりです。

のLinearLayoutは0を持つことができます。子どもの。 ScrollViewの子は1つだけです。 TableLayoutは0..N TableRowsを持つことができます。

私の前提が有効かどうか、またはイオンを排出しましたか?

答えて

1

はい、想定していたすべてが正しいです。実際には、すべてのコード化/ XMLが完了しているので、ちょうど試してみることができます:)固定テーブルのXMLに同じ正確なコントロールが既にマークアップされている場合、3つのチェックボックスとテキストビューをダイナミックテーブルレイアウトに追加します行。これが意図的かどうかは分かりません。

+0

oopsa-daisy(私の悪い);私はそれを修正します - そこには4つのTextViewsがあるはずです。 –

関連する問題