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 这不是真的..