标题说明了一切。

我正在制作一个应用程序,我必须在我尝试过的线性布局中添加动态按钮:

testButtons = new Button[caseDetails.length()];
for (int i = 0; i < caseDetails.length(); i++) {
    temp = caseDetails.getJSONObject(i);
    Log.e("TEMP  " + i, temp.toString());
    testButtons[i] = new Button(this) ;
    testButtons[i].setText("Hello Hi");
    testButtons[i].setHeight(LayoutParams.WRAP_CONTENT);
    testButtons[i].setWidth(LayoutParams.WRAP_CONTENT);
    testButtons[i].setPadding(20, 20, 20, 20);
    testLayout.addView(testButtons[i]);
}

我在模拟器上只能看到两个没有文字的按钮。为什么会这样?

最佳答案

有同样的问题..试试这个..

testButtons = new Button[caseDetails.length()];

for (int i = 0; i < caseDetails.length(); i++) {
    temp = caseDetails.getJSONObject(i);
    testButtons[i] = new Button(this) ;
    testButtons[i].setText("Hello Hi");
    LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
    testButtons[i].setPadding(20, 20, 20, 20);
    testLayout.addView(testButtons[i], lp);
}

还要确保您的 linearLayout 的方向是垂直的。祝你好运! :)

关于android - setText() 不适用于 linearLayout 中动态添加的按钮,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17425301/

10-13 04:17