2012-01-29 2 views
1

У меня есть 2 кнопки для переключения между двумя макетами в одном и том же действии: нажатие кнопки1 на макете 1, переход на макет 2 (с помощью setContentView). На layout2, нажав кнопку2, он вернется к layout1. Тогда кнопка1 больше не отвечает OnClickListener. Я просмотрел «входные события», но все еще не мог понять. Что случилось и как это исправить?Состояние кнопки в разных макетах в одном действии?

Заранее благодарен!

Button submitBtn; 
Button backBtn; 
submitBtn = (Button)findViewById(R.id.button1); //on layout1 
backButn = (Button)findViewById(R.id.button2); //on layout2 
submitBtn.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      setContentView(R.layout.layout2); 
        } 
    }); 
backBtn.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      setContentView(R.layout.layout1); 
        } 
    }); 
+0

вы можете вставить свой код – Mercy

ответ

1

Вы должны переназначить слушателей при переключении макета, потому что, когда вы вызываете setContentView, старый вид уничтожается, а новые компоненты создаются.

+0

Вот и все! –

0

Вы ДОЛЖНЫ установить содержание, когда пришло время изменить макет, в противном случае представления будут пустыми.

Смежные вопросы