Ich habe android:onclick
in Xml für ein ImageButton gesetzt und diese Methode in meiner Aktivität. in android s unter 5 funktioniert es gut, aber in android 5 gibt es mir Fehler.android 5 und onClick in XML-Layout
mein Imagecode:
<ImageButton
android:id="@+id/photo_detail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/detail_icon"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:background="@drawable/image_background"
android:onClick="photoDetailButtonMethod"/>
meine Methode Code:
public void photoDetailButtonMethod(View theButton)
{
//something
}
der Fehler:
java.lang.IllegalStateException: Could not find a method photoDetailButtonMethod(View) in the activity class android.view.ContextThemeWrapper for onClick handler on view class android.widget.ImageButton with id 'photo_detail'
at android.view.View$1.onClick(View.java:3994)
at android.view.View.performClick(View.java:4756)
at android.view.View$PerformClick.run(View.java:19749)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: java.lang.NoSuchMethodException: photoDetailButtonMethod [class android.view.View]
at java.lang.Class.getMethod(Class.java:664)
at java.lang.Class.getMethod(Class.java:643)
at android.view.View$1.onClick(View.java:3987)
at android.view.View.performClick(View.java:4756)
at android.view.View$PerformClick.run(View.java:19749)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
durch den Fehler suchen i es die Suche nach meiner Methode in android.view.ContextThemeWrapper
sehen Klasse so endet es mit NoSuchMethodException
.
ich kann nicht herausfinden, wie das zu lösen, jede Hilfe?
1) Ich habe bereits tools:context=".PhotoViewerActivity"
im Stamm meines Layouts hinzugefügt.
2) die Aktivität erweitert ActionBarActivity
mit appCompat
Thema.
Das hat nicht für mich funktioniert. Danke trotzdem - es war sinnvoll, der Layoutdatei einen Kontext hinzuzufügen. – Mullazman