を埋めるためにボタンを追加は、私はprogramaticaly画像以下のようなのTableRowを追加しても、その中のいくつかのボタンができ、プログラムでのTableRowと画面
、ここでは私のコードです:
<TableLayout
android:id="@+id/Tb1"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TableRow
android:id="@+id/r1"
android:layout_width="match_parent"
android:layout_height="match_parent"></TableRow>
<TableRow
android:id="@+id/r2"
android:layout_width="match_parent"
android:layout_height="match_parent"></TableRow>
<TableRow
android:id="@+id/r3"
android:layout_width="match_parent"
android:layout_height="match_parent"></TableRow>
</TableLayout>
と:
Button btn1;
private TableLayout buttonTableLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1 = (Button) findViewById(R.id.btn1);
buttonTableLayout = (TableLayout) findViewById(R.id.Tb1);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
for (int row = 0; row < buttonTableLayout.getChildCount(); ++row)
((TableRow) buttonTableLayout.getChildAt(row)).removeAllViews();
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
for (int row = 0; row < 3; row++) {
TableRow currentTableRow = getTableRow(row);
for (int column = 0; column < 5; column++) {
Button newGuessButton = (Button) inflater.inflate(R.layout.my_button, null);
String myName = new String(String.valueOf((row * 5) + column + 1));
newGuessButton.setText(myName);
currentTableRow.addView(newGuessButton);
}
}
}
});
}
private TableRow getTableRow(int row) {
return (TableRow) buttonTableLayout.getChildAt(row);
}
とxml(my_buttonという):
<Button xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/newButton" android:layout_weight="1" android:layout_width="0dp" android:layout_height="wrap_content"></Button>
私にそれを解決するためにいくつかのアドバイスをお願いします。
あなたは私が私のbutton.xmlに最後の2行を追加しますが、それはない作品を行います。@これらのボタンを膨張のあなたの方法は、いくつかの変更を必要とするためこんにちは、私はFrogatto – Beppe
@Beppeだご覧のよう!親として 'null'を渡すべきではありません。これを試してください: 'inflater.inflate(R.layout.my_button、currentTableRow、false);' –
はい、うまくいきます。あなたは華麗です。ありがとう。 – Beppe