안녕하세요 저는 테이블 레이아웃에서 일부 버튼을 생성하는 코드를 사용했습니다. 버튼은이 레이아웃에 의해 생성되므로 아무 것도 아직 ID가 없습니다. 그래서 여기 내 질문입니다. 특정 버튼에 ID를 부여하려면 어떻게해야합니까? 당신은 View.setId()을 사용할 수 있습니다동적 생성 된 버튼에 ID를 부여하는 방법은 무엇입니까?
public class MainActivity extends ActionBarActivity {
private static final int NUM_ROWS = 3;
private static final int NUM_COLS = 3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
populateButtons();
}
private void populateButtons() {
TableLayout table = (TableLayout) findViewById(R.id.TableLayout);
for (int row =0; row < NUM_ROWS; row++) {
TableRow tableRow = new TableRow(this);
tableRow.setLayoutParams(new TableLayout.LayoutParams(
TableLayout.LayoutParams.MATCH_PARENT,
TableLayout.LayoutParams.MATCH_PARENT,
1.0f));
table.addView(tableRow);
for (int col = 0; col < NUM_COLS; col++) {
Button button = new Button(this);
tableRow.addView(button);
}
}
}
[setId()] (http://developer.android.com/reference/android/view/View.html#setId (int)) 그러나'String'을 원하면'int'를 취합니다. 당신은'setTag() '(http://developer.android.com/reference/android/view/View.html#setTag (java.lang.Object))를 사용하여'Object'를 가져 와서'getTag()' – codeMagic
이것 좀 봐 : http://stackoverflow.com/questions/1714297/android-view-setidint-id-programmatically-how-to-avoid-id-conflicts/14975498#14975498 – Loc