2012-01-27 11 views
1

私の現在のコードは次のとおりです。アンドロイドで動的な水平テーブルの行を作成するには?

for(int i=0;i<jArray.length();i++){ 
      JSONObject json_data = jArray.getJSONObject(i); 
      String b = json_data.getString("examnames"); 
      JSONObject getexamnamesobject = new JSONObject(b); 
      getexamnames=getexamnamesobject.getString("types"); 
      TableRow tr = new TableRow(this); 
      TextView tv1 = new TextView(this); 
      createView(tr,tv1,getexamnames); 
      t1.addView(tr); 
     } 
public void createView(TableRow tr, TextView t, String viewdata) { 
     t.setText(viewdata); 
     //adjust the porperties of the textView 
     t.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT)); 
     //t.setTextColor(Color.DKGRAY); 
     //t.setBackgroundColor(Color.CYAN); 
     t.setPadding(20, 0, 0, 0); 
     tr.setPadding(0, 1, 0, 1); 
     //tr.setBackgroundColor(Color.BLACK); 
     tr.addView(t); // add TextView to row. 
     } 

上記のコード、私はこのような垂直textviewsを取得していているため私の出力:

English 
Maths 
Science 

は何の水平を得るために上記のコードの変更でなければなりません

English Maths Science 

私を助けてください。これは私にとって非常に重要です ありがとうございます事前に

答えて

1

setStretchAllColumns()とsetShrinkAllColumns()をテーブルレイアウトに設定します。テーブルレイアウトの向きを「水平」にします。

1

TableRowを作成して、それをあなたのTableLayoutにjArrayの各項目ごとに一度追加します。 createViewメソッドは、jArray(getexamnamesobject.getString("types"))の対応する項目のjsonオブジェクトの "types"キーの値をその行に追加します。

StringBuilderでループしてすべての "types"文字列を収集し、それらを単一のTableRowに配置する必要があります。

+0

私はコードで私を助けてください(私はjava&androidへの初心者です)。そして、これのためにアンドロイドによって提供される他の方法はありませんか? –

1

新しいLayoutParamsは、新しいTableRow.LayoutParamsである必要があります。 「裸の」LayoutParamsを持つビューは、次々と積み重ねることができませんでした。

関連する問題