E
Elmar1272
Neues Mitglied
- 1
Hallo Leute,
ich arbeite schon länger an einem Problem herum, dass sich einfach nicht lösen lassen will. Ich habe in einem Dialog eine CheckBox plaziert, die sofort beim Anklicken einen neuen Dialog öffnen soll. Ich habe im xml-File unter der Definition der CheckBox "android: onClick = xxx" mit der Methode verwendet, die auch in der aufrufenden Klasse definiert ist. Wenn ich dann im Emulator die CheckBox anklicke kommt sofort der Debugger mit dem Ergebnis, dass die Methode nicht gefunden werden kann. Kann mir da jemand helfen?
Hier die Codeschnipsel:
XML-File:
<CheckBox
android:id="@+id/exchange_ctr"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@+id/counternamelable"
android:layout_marginRight="14dp"
android
nClick="onCheckboxClicked"
android:text="Exchange" />
</RelativeLayout>
Hier der Ausschnitt aus der Klasse, die den Dialog verwaltet:
public void onCheckboxClicked(View v){
if(((CheckBox) v).isChecked()){
Log.v("CheckBox", "checked");
}
else
Log.v("CheckBox", "is unchecked");
}
und hier die Fehlermeldung:
FATAL EXCEPTION: main
java.lang.IllegalStateException: Could not find a method onCheckboxClicked(View) in the activity class android.view.ContextThemeWrapper for onClick handler on view class android.widget.CheckBox with id 'exchange_ctr'
at android.view.View$1.onClick(View.java:3031)
at android.view.View.performClick(View.java:3511)
at android.widget.CompoundButton.performClick(CompoundButton.java:100)
at android.view.View$PerformClick.run(View.java:14105)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NoSuchMethodException: onCheckboxClicked [class android.view.View]
at java.lang.Class.getConstructorOrMethod(Class.java:460)
at java.lang.Class.getMethod(Class.java:915)
at android.view.View$1.onClick(View.java:3024)
ELMAR
ich arbeite schon länger an einem Problem herum, dass sich einfach nicht lösen lassen will. Ich habe in einem Dialog eine CheckBox plaziert, die sofort beim Anklicken einen neuen Dialog öffnen soll. Ich habe im xml-File unter der Definition der CheckBox "android: onClick = xxx" mit der Methode verwendet, die auch in der aufrufenden Klasse definiert ist. Wenn ich dann im Emulator die CheckBox anklicke kommt sofort der Debugger mit dem Ergebnis, dass die Methode nicht gefunden werden kann. Kann mir da jemand helfen?
Hier die Codeschnipsel:
XML-File:
<CheckBox
android:id="@+id/exchange_ctr"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@+id/counternamelable"
android:layout_marginRight="14dp"
android

android:text="Exchange" />
</RelativeLayout>
Hier der Ausschnitt aus der Klasse, die den Dialog verwaltet:
public void onCheckboxClicked(View v){
if(((CheckBox) v).isChecked()){
Log.v("CheckBox", "checked");
}
else
Log.v("CheckBox", "is unchecked");
}
und hier die Fehlermeldung:
FATAL EXCEPTION: main
java.lang.IllegalStateException: Could not find a method onCheckboxClicked(View) in the activity class android.view.ContextThemeWrapper for onClick handler on view class android.widget.CheckBox with id 'exchange_ctr'
at android.view.View$1.onClick(View.java:3031)
at android.view.View.performClick(View.java:3511)
at android.widget.CompoundButton.performClick(CompoundButton.java:100)
at android.view.View$PerformClick.run(View.java:14105)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NoSuchMethodException: onCheckboxClicked [class android.view.View]
at java.lang.Class.getConstructorOrMethod(Class.java:460)
at java.lang.Class.getMethod(Class.java:915)
at android.view.View$1.onClick(View.java:3024)
ELMAR