2

TableLayoutにImageViewを追加したいと思います。私はすべてのことをしますが、何も表示されません。どうすれば修正できますか?

これは私のコードです:

public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.buddy_list);

   TableLayout buddy_list_layout = (TableLayout)findViewById(R.id.buddy_list_layout);

    TableRow tableRow = new TableRow(this);
    TableLayout.LayoutParams layoutParams1 = new TableLayout.LayoutParams(
    TableLayout.LayoutParams.FILL_PARENT,
        50);

    ImageView imageView = new ImageView(this);
    imageView.setImageResource(R.drawable.troll_logo);
    TableLayout.LayoutParams layoutParams2 = new TableLayout.LayoutParams(50, 50);
    tableRow.addView(imageView, layoutParams2);
    buddy_list_layout.addView(tableRow, layoutParams1);
} // end -> method -> onCreate
4

2 に答える 2

1

TableRowを追加するために使用しているため、layoutParams2をaからaに切り替える必要TableLayout.LayoutParams()があります。TableRow.LayoutParams()タイプはレイアウトと一致する必要があります。一致しない場合、機能しません。

于 2012-07-03T16:41:44.390 に答える
0

誰かがここで提案するように、行に事前定義されたxmlレイアウトを使用してみてください:https ://stackoverflow.com/a/8679835/375929 (おそらく完全に動的にする必要はありません。行はほとんど同じです。必要なのはそれらを動的に追加するため)プログラムで作業する手間を省くことができますLayoutParams

しかし、ええ、matt5784が言うように、あなたの問題はおそらく間違ったLayoutParamsクラスを使用していることです。

于 2012-07-03T16:45:59.573 に答える