Android удалить все кнопки в представлении

1

У меня есть LinearLayout который я зациклил несколько new Button объектов new Button. Как я могу очистить этот div правильно (например, удалить все кнопки)? Я пробовал несколько раз (безуспешно), чтобы сделать это, но им нечего показать.

** редактировать **

Я не уверен, помогает ли это, но в flex/AS3 я бы сделал что-то вроде:

while(myView.numChildren) myView.removeChildAt(0);

** немного код **

View col1 = findViewById(R.id.col1);
for(final Map.Entry<String,HashMap<String,String>> entry : _nav.entrySet()) {
    Button item = new Button(this);
    item.setText(entry.getKey());
    item.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            openCol2(entry);
        }
    });
    ((LinearLayout) col1).addView(item);
}

private final void openCol2(Map.Entry<String,HashMap<String,String>> entry) {
    View col2 = findViewById(R.id.col2);
    // here is where I want to clean out col2. Right before I add more buttons.

    for(int i = 0; i < _nav.size(); ++i) {
        Button item = new Button(this);
        //item.setText(entry.getKey());
        ((LinearLayout) col2).addView(item);
    }
}
  • 0
    Что я понял из вашего вопроса, что вы хотите удалить все представления (кнопки) из линейного макета .... если это то, что вы хотите, то вы пробовали метод removeAll ?? вот ссылка
  • 0
    @ Джакон, пожалуйста, отправьте свой код. Кроме того, вы используете файл макета или программно строите представление?
Показать ещё 1 комментарий
Теги:

1 ответ

8
Лучший ответ

Попробуй это

LinearLayout col2 = (LinearLayout)findViewById(R.id.col2);
col2.removeAllViews();

Предположим: R.id.col2 имеет тип LinearLayout else, чтобы сделать его более общим, чтобы преобразовать его в ViewGroup. Надеюсь эта помощь !!!

  • 0
    Работал как чемпион. Спасибо, гопал.
  • 0
    @gopal, если я хочу добавить все представления после .removeAllViews (); ? Как это сделать?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню