2013-07-02 2 views
3

В названии говорится все.setText() не работает с динамически добавленными кнопками в linearLayout

Я делаю приложение, в котором я должен добавить динамические кнопки в линейной компоновке я попытался:

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]); 
} 

Все, что я могу видеть на эмуляторе две кнопки без текста. Почему это происходит?

+2

возможно, потому что заполнение перекрывает текст? –

+2

Вы видите вывод 'Log.e (« TEMP »+ i, temp.toString());'? – zapl

+1

просто удалите прокладку сверху и снизу и тест –

ответ

3

была такая же проблема .. попробовать это ..

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 является вертикальной. Удачи! :)

+0

ха-ха глупо ошибка .... спасибо –

Смежные вопросы