Android - 带有自定义视图的ActionBar上的Onclick事件

时间:2015-01-03 22:08:28

标签: java android android-layout android-actionbar

单击与onclick事件关联的项目,应用程序意外关闭,显示错误。非常奇怪的是,这只发生在ActionBar中的项目,但相同的代码与活动布局中的项目一起正常工作。

班级:

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和所有依赖项更新到最新版本时,问题就出现了,事实上在我的代码工作之前。怎么解决?

1 个答案:

答案 0 :(得分:0)

android:onClick查找当前活动中的函数。有关详细说明,请参阅this SO question。并且@KostasMatrix不是真的..