我是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] 删除。
我来说两句