さて、MainActivity というアクティビティがあり、layout1とlayout2という 2 つのレイアウトがあり、どちらもボタンがほとんどないとします。デフォルトの MainActivityレイアウトは、次のようなlayout1です。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout1);
私が実際に行ったことは、layout1のボタンをクリックすることで、2 番目のレイアウトは次のように設定されます。
someBtn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
setContentView(R.layout.layout2);
}
});
次のように、 layout2に別のボタンがあり、layout1に戻ります。
someBtn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
setContentView(R.layout.layout1);
}
});
問題は、 layout1に戻ったときにsomeBtn1 のOnClickListenerが機能しないことです。layout1の someBtn1 にOnClickListenerを再度設定する必要があるようです。ベストプラクティスで完璧に動作するようにコードを書くにはどうすればよいですか?