RemoveAllViews и setContentView не работают

У меня проблема с removeAllViews и setContentView ….. оба не работают для меня, я не знаю почему. У меня есть функция в классе, который возвращает представление, и я хочу добавить это представление на экран, и это представление будет изменяться через каждые 5 секунд ….. поэтому через 5 секунд я вызываю removeAllViews на макет, в котором вид Добавляется, а затем добавляет его снова …. но удивительно, что старый вид все еще существует, и он добавляет новый вид в конец ….

Та же проблема с setContentView я тоже стараюсь, но он также работает так же, как и основной макет, он также добавляет представление в конце, а не заменяет весь экран …….

Пожалуйста, помогите …… спасибо заранее …………

setContentView(logic.getView()); 

а также

 LinearLayout layout = blah blah blah; layout.removeAllViews(); layout.addView(logic.getView(), layout parameters....); 

ОК. С некоторым обзором ваших комментариев я понял, почему эта проблема создана.

Возможно, вы не удаляете первый просмотр должным образом. Вот почему, пока вы собираетесь добавить другое представление, вместо одного нового представления есть два вида (первый – первый и второй – новый).

Поэтому сначала удалите первое представление, а затем добавьте представление по своему желанию.

Надеюсь, это поможет вам.

Благодарю.

Наслаждаться. 🙂

  • 1. Using Visiblity...

    Посмотрите на метод setVisibility, чтобы изменить параметры видимости для представления. Вот

developer.android

 - **` 2.Runtime Add And Delete View`** LinearLayout layout; TextView textview1 ,textview; Button btn ; layout =new LinearLayout(this); LayoutParams params = new LinearLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT, 1.0f); layout.setLayoutParams(params); btn = new Button(this); LayoutParams param = new LinearLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1.0f); btn.setLayoutParams(param); btn.setText("Change"); textview =new TextView(this); textview.setLayoutParams(param); textview.setText("Text 1..."); textview1 =new TextView(this); textview1.setLayoutParams(param); textview1.setText("Text 2 ..."); layout.addView(textview); layout.addView(btn); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Log.i("Remove All View ", "REmove"); layout.removeAllViews(); layout.addView(textview1); layout.addView(btn); Log.i("Remove All View ", "REmove"); } }); setContentView(layout);