Wenn man in Android von einer Activity Seite in ein Fragment wechselt, dann können einige Funktionen nicht übernommen werden.
Zunächst steht der android:onClick=".." Eintrag in der xml Seite nicht mehr zur Verfügung.
Die Events des Fragments werden immer erst an die übergeordnete Activity gesendet.
Lösung:
Man muss den onClick=".." Eintrag übertragen von der layout/fragment.xml Seite zu der Codebehind seite in java/project/fragment_page.java und diese mit einem onClickListener an einer Resource verbinden.
Betrifft:
View Elemente in einem Android Fragment, welche auf den onClick Event reagieren sollen, wobei in der .xml Seite der android:onClick=".." verwendet ist.
<Switch
|
Lösung in der .java Seite des Fragments:
In der Fragment.java Code Seite fügt man über Ctrl+O die Override Methode onViewCreated ein. Diese Methode wird aufgerufen, sobald die Fragment als View erstellt ist.
@Override .. …here onClickListener.. |
Wenn man mehrere Views abfangen möchte zum Beispiel mehrere Buttons die alle auf den gleichen onClick Event reagieren sollen, dann kann man die Elemente im for-Loop durchlaufen.
Im Beispiel hier werden alle Switch-View Elemente mit der Bezeichnung "SwitchAlarm" 0 bis 6 durchlaufen
Zunächst wird die ID der Fragment Resource in Layouts gesucht und anschliessend mit .setOnClickListener eine Bindung an genau diese Resource erstellt.
@Override
|