Przypuśćmy, że istnieje aktywny zwany główną działalność i istnieją dwa układy zwane Układ1 i Layout2 obie mają kilka przycisków. Domyślnie główną działalność układ jest Układ1 jak następuje:Jak ustawić układ dynamicznie w android
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout1);
Teraz co zrobiłem faktycznie jest kliknięcie przycisku w Układ1 drugi układ jest ustawiony jak następuje:
someBtn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
setContentView(R.layout.layout2);
}
});
There to kolejny przycisk w layout2, aby powrócić do layout1 jak poniżej:
someBtn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
setContentView(R.layout.layout1);
}
});
Problem jest, gdy wróciłem z powrotem do Układ1 następnie OnClickListener z someBtn1 nie działa. Wygląda na to, że muszę ustawić OnClickListener ponownie na someBtn1 z layout1. Jak mogę napisać kod, aby działały idealnie zgodnie z najlepszymi praktykami?
Tak, wiem o tym. Ale z jakiegoś powodu chcę dynamicznie używać różnych układów w tej samej aktywności. Dzięki za Twoją sugestię. –
Ulepszyłem swoją odpowiedź, aby uniknąć dwukrotnego zadeklarowania słuchaczy, proszę spojrzeć. – Piovezan