Я пытаюсь написать приложение, добавляющее кнопки динамически. Приложение получает изображение с сервера и добавляет кнопку (теперь нет функциональности).Динамическое добавление кнопок в linearView
Основное направление деятельности - проведение линейной компоновки, которая будет содержать кнопки и поверхностный вид, которые будут получать изображения и будут создавать кнопки в основном действии.
Проблема в том, что после того, как первое изображение было получено, сбой приложения при попытке добавить новую кнопку в представление.
Это код вида поверхности:
public void run() {
while (isRunning){
if (!ourHolder.getSurface().isValid()){
continue;
}
Canvas canvas = ourHolder.lockCanvas(); // Semafor for the canvas
canvas.drawRGB(20,20,80);
if (getNumOfBoards() > 0){
canvas.drawBitmap(getCurrentBoard(), 0, 0, null);
}
ourHolder.unlockCanvasAndPost(canvas);
}
}
Это Основная активность добавить код кнопки
public void addButtons(int numOfButton) {
// create patameter
LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT
);
// create new button
Button newbutton = new Button(this);
// set background color
newbutton.setBackgroundColor(Color.BLUE);
// set width and height
newbutton.setWidth(30);
newbutton.setHeight(20);
// set position
newbutton.setY((float)numOfButton*20);
newbutton.setX(0);
// set text
newbutton.setText("new button");
// add button to the layout
buttons.addView(newbutton,p);// **the application crash here**
}
Какое сообщение об ошибке (LogCat) из аварии? – Axarydax
Можете ли вы попробовать с этим, я не уверен. замените это 'buttons.addView (newbutton, p);' с 'p.addView (newbutton);' – VenomVendor
Что такое «кнопки»? Вы инициализировали его в onCreate? – Taras