2011-11-09 14 views
1

を表示しません。 TableLayoutを行うAndroidのTableLayout私はその内容いくつかのボタンとTableLayoutを持っていレイアウトに設定されているクラスを持っている

実際の作業は、所望のテーブルを返すメソッドを持つ別静的ヘルパークラスです。

しかし、表には表示されません。恥ずかしい単純な事実は何ですか?ここで

は、そのコンテンツのレイアウトに設定されているクラスです。

public class TesterActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     TableLayout table = (TableLayout) findViewById(R.id.table); 
     table = TableHelper.getTable_BINARY_NUMBERS(getApplicationContext(), 5, 25); 
    } 
} 

そしてここでは、表の肉を作成するヘルパークラスである:

public class TableHelper { 

    public static TableLayout getTable_BINARY_NUMBERS(Context context, int numRows, int numCols) { 

     TableLayout table = new TableLayout(context); 

     table.setStretchAllColumns(true); 
     table.setShrinkAllColumns(true); 

     TableRow[] rows = new TableRow[numRows]; 
     for (int row=0; row<numRows; row++) { 
      rows[row] = new TableRow(context); 

      for (int col=0; col<numCols-1; col++) { 
       TextView num = new TextView(context); 
       num.setText("0"); 
       rows[row].addView(num); 
      } 
      TextView rowText = new TextView(context); 
      rowText.setText("Row " + (row + 1)); 
      rowText.setTextAppearance(context, android.R.style.TextAppearance_Small); 
      rows[row].addView(rowText); 
      rows[row].setPadding(0, 50, 0, 0); 
      table.addView(rows[row]); 
     } 
     return table; 
    } 
} 

答えて

1

代わりに新しいテーブルレイアウトを返す、あなたはすぐにあなたのgetTable_BINARY_NUMBERS()に取得1を渡す代わりに、完全に新しいものを返すのあなたの方法でそれを変更します。

+0

これは、ありがとう、ありがとう – Allen

1

TableLayoutあなたのヘルパークラスを返すされあなたが見ているTableLayoutと同じではありません。

setContentView(R.layout.main);の場合、変数テーブルに割り当てるTableLayoutのインスタンスが作成されます。ヘルパークラスからのTableLayoutは別のインスタンスです。

+0

ので、私は私のヘルパークラスメソッドに引数としてテーブルを渡す必要がありますか? – Allen

+0

私は正確にあなたがやろうとしているのかわからないです。しかし、あなたがテーブルを渡すと助けになるかもしれません。 – 500865

関連する問題