Android onClick事件不起作用

阿尔贝托·罗西(Alberto Rossi)

我是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" />

我以这种方式声明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);
    }

我不知道问题出在哪里,因为Eclipse告诉我了这一点: 在此处输入图片说明

你有什么建议吗?您可以在此处找到完整的代码:link

黑带

几点建议:

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

public void onClickRadGard(View view) {

}

如果未声明,则您的应用程序将崩溃。当您按时,将调用此方法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
  }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章