Я использую следующий код для создания кнопки в горизонтальной компоновке с использованием массива имен кнопок:Как создать кнопки при нажатии кнопки?
LinearLayout tabView = (LinearLayout) findViewById(R.id.tabView);
tabView.setOrientation(LinearLayout.HORIZONTAL); //Can also be done in xml by android:orientation="vertical"
for (int i = 0; i < tabButtonNames.length; i++) {
Button btnTag = new Button(this);
btnTag.setText(tabButtonNames[i]);
btnTag.setWidth(50);
btnTag.setHeight(14);
btnTag.setTextSize(8);
btnTag.setId(i);
btnTag.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
---the code TODO
});
tabView.addView(btnTag);
}
Они созданы, но я не могу изменить высоту и ширину кнопок с помощью setWidth
, setHeight
или LayoutParam
. Затем, нажимая кнопку, я хочу создать список дополнительных кнопок в своем вертикальном макете, используя массив имен кнопок. Я использовал тот же самый код, что и выше, в методе onClick
, но приложение аварийно завершает работу при нажатии кнопки. Также Button btn=new Button(this)
не может использоваться в onClick. Я сделал это в приложении i-Pad, но здесь у меня проблемы.
Используйте кнопки БТН = новая кнопка (getApplicationContext()); –
pls публикует ваш полный код и ошибки logcat. –