Android - 带有自定义视图的 ActionBar 上的 Onclick 事件
Android - Onclick event on ActionBar with Custom View
单击与 onclick 事件关联的项目时,应用程序意外关闭并显示错误。非常奇怪的是,这只发生在 ActionBar 中的项目上,但是相同的代码可以正确地用于 activity.
布局中的项目
class:
public class myclass extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_myclass);
getSupportActionBar().setCustomView(R.layout.actionbar_myclass);
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
}
public void myonlickevent(View v) {
System.out.println("test");
}
}
R.layout.actionbar_myclass(点是我的代码,没用的原因我稍后会解释):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
...
android:onClick="myonlickevent" >
...
</RelativeLayout>
Logcat 错误:
java.lang.IllegalStateException: Could not find a method myonlickevent(View) in the activity class android.view.ContextThemeWrapper for onClick handler on view class android.widget.RelativeLayout with id 'myrelativelayoutid'.
当我更新 compileSdkVersion
和所有依赖项到最新版本时出现问题,实际上在此之前我的代码工作。如何解决?
android:onClick
在当前 activity 中查找函数。有关详细说明,请参阅 this SO question。 @KostasMatrix 这不是真的..
单击与 onclick 事件关联的项目时,应用程序意外关闭并显示错误。非常奇怪的是,这只发生在 ActionBar 中的项目上,但是相同的代码可以正确地用于 activity.
布局中的项目class:
public class myclass extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_myclass);
getSupportActionBar().setCustomView(R.layout.actionbar_myclass);
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
}
public void myonlickevent(View v) {
System.out.println("test");
}
}
R.layout.actionbar_myclass(点是我的代码,没用的原因我稍后会解释):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
...
android:onClick="myonlickevent" >
...
</RelativeLayout>
Logcat 错误:
java.lang.IllegalStateException: Could not find a method myonlickevent(View) in the activity class android.view.ContextThemeWrapper for onClick handler on view class android.widget.RelativeLayout with id 'myrelativelayoutid'.
当我更新 compileSdkVersion
和所有依赖项到最新版本时出现问题,实际上在此之前我的代码工作。如何解决?
android:onClick
在当前 activity 中查找函数。有关详细说明,请参阅 this SO question。 @KostasMatrix 这不是真的..