Во-первых, извиняюсь, если этот ответ уже присутствует здесь, так как я искал несколько недель и еще ничего не нашел.Динамическое создание/удаление кнопок в Android
Я работаю над Android-приложением, которое должно позволить пользователю создавать и удалять кнопки. Я знаю, как обычно создавать кнопки статически, добавляя кнопку XML-файл и создавая его функциональность в файле JAVA.
Вместо этого у меня есть статическая кнопка, которую я назову «Create Button». Когда пользователь нажимает кнопку «Создать», им должна быть предоставлена возможность добавить новую кнопку в текущую активность, что позволит им изменить название указанной кнопки и т. Д. Когда они закрывают приложение и открывают его обратно; кнопка, которую они добавили, все равно должна быть там. Аналогичным образом, они должны иметь возможность удалять кнопки.
Может кто-нибудь указать мне в правильном направлении? Большинство источников, с которыми я столкнулся, объясняют, как статически создавать кнопки, как я впервые упоминал.
Спасибо за помощь!
EDIT: Я был в состоянии вычислить некоторые вещи, основанные на обратной связи, которую мне дали.
До сих пор у меня есть следующий код в методе onOptionsItemSelected():
if (id == R.id.add_button)
{
Button myButton = new Button(this);
myButton.setText("Push Me");
//myButton.setVisibility(View.VISIBLE);
return true;
}
Я все еще немного запутался о том, как это может добавляться в макете. В основном, я смущен насчет вызова findViewById:
RelativeLayout layout = (RelativeLayout)findViewById(R.id.?);
Какой идентификатор я должен использовать? В основном файле XML приложения отсутствует идентификатор самого макета. Это просто «RelativeLayout».
EDIT2:
На самом деле, я решил проблему. Спасибо за совет! Мне просто нужно было указать свой макет ID в файле XML. Я знал, что могу дать кнопки и т. Д. ID, но никогда не знал, что я смог сделать это для самого самого макета!
Это очень общее question.This показывает, что вы не исследовались, прежде чем просить question.you может найти путь ответа легко, если вы пытаетесь искать, а не просить его сразу на SO –
Смотреть это: http://stackoverflow.com/questions/14826822/adding-multiple-views-to-a-view/14827165#14827165 Я разместил код, в котором вы можете увидеть, как динамические представления могут быть добавлены, изменены и удалены. –