Android onClick事件无效

Alb*_*ssi 0 android

我是Android开发的新手,我还在阅读文档.顺便说一下,当我点击一个按钮时,我正在尝试添加一个事件.这是代码:

<Button
  android:id="@+id/button1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_alignLeft="@+id/editText1"
  android:layout_below="@+id/editText1"
  android:layout_marginTop="24dp"
  android:text="Execute"
  android:onClick="onClickRadGard" />
Run Code Online (Sandbox Code Playgroud)

我以这种方式声明onClickRadGrad:

public class MainActivity extends ActionBarActivity {

    final Button buttonx = (Button) findViewById(R.id.button1);

    buttonx.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            // Perform action on clicks

        }
    });

    @Override
    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    }
Run Code Online (Sandbox Code Playgroud)

我不知道问题在哪里因为Eclipse告诉我这个: 在此输入图像描述

你有什么建议吗?你可以在这里找到完整的代码:链接.

Bla*_*elt 5

几点建议:

android:onClick="onClickRadGard"在xml中声明了.这意味着您的活动将期望找到具有以下签名的方法:

public void onClickRadGard(View view) {

}
Run Code Online (Sandbox Code Playgroud)

如果没有声明你的应用程序将崩溃.当您按下时,将调用此方法android:id="@+id/button1",因此您无需调用setOnClickListener它.

关于你得到的编译时错误,我看了你在链接中发布的代码.这两行必须被定义后setContentView,在体内onCreate

final Button buttonx = (Button) findViewById(R.id.button1);

buttonx.setOnClickListener(new OnClickListener() {
  public void onClick(View v) {
    //other code
  }
});
Run Code Online (Sandbox Code Playgroud)