【发布时间】:2018-05-09 21:42:53
【问题描述】:
我正在尝试以编程方式将一些 EditText 添加到 TableRow,但它们没有显示在屏幕上。如果我将 EditTexts 直接添加到 TableLayout 它工作正常,但我确实希望将它们放在一行中......
public void createPlayers(){
EditText[] editTextSpieler = new EditText[anzahl_Spieler];
TableRow tableRow = new TableRow(getActivity());
tableRow.setLayoutParams(new TableRow.LayoutParams(
TableRow.LayoutParams.MATCH_PARENT,
TableRow.LayoutParams.WRAP_CONTENT));
tableLayout.addView(tableRow);
for(int i = 0; i < anzahl_Spieler; i++){
editTextSpieler[i] = new EditText(getActivity());
editTextSpieler[i].setLayoutParams(layoutparams);
tableRow.addView(editTextSpieler[i]);
editTextSpieler[i].getLayoutParams().width = dWidth/(anzahl_Spieler + 1);
editTextSpieler[i].setHint("Name");
}
}
提前致谢。
解决方案:
layoutparams = new TableRow.LayoutParams(
TableRow.LayoutParams.MATCH_PARENT,
TableRow.LayoutParams.WRAP_CONTENT);
使用 TableRow.LayoutParams 指定 MATCH_PARENT 和 WRAP_CONTENT 完成了这项工作
【问题讨论】: