我一直在看一些帖子,但我仍然无法让我的代码工作(我是初学者)..我只是想用我的两个按钮和一个案例开关使用吐司..编译时只是崩溃..有一个想法?
代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_menu);
TextView et = (TextView) findViewById(R.id.txtHeader);
Button btnAdd = (Button) findViewById(R.id.btnAdd);
Button btnDis = (Button) findViewById(R.id.btnDisplay);
btnAdd.setOnClickListener((OnClickListener) this);
btnDis.setOnClickListener((OnClickListener) this);
}
public void OnClick(View v) {
switch (v.getId()) {
case R.id.btnAdd:
// Toast msg = Toast.makeText(getBaseContext(), "Torben", Toast.LENGTH_LONG);
// msg.show();
break;
case R.id.btnDisplay:
// Toast msg1 = Toast.makeText(getBaseContext(), "Henriksen", Toast.LENGTH_LONG);
// msg1.show();
break;
default:
break;
}
}
答案 0 :(得分:1)
我看到两个主要问题:
((OnClickListener) this
确保您的类实现OnClickListener
,因为如果您实际实现了接口,则永远不需要进行强制转换。'
类的声明应该是这样的:
public class MyActivity extends Activity implements OnClickListener
然后将OnClick
更改为小写o
。
@Override
public void onClick(View v) {
答案 1 :(得分:0)
一些日志输出会有所帮助!
一个疯狂的猜测是你的活动没有实现OnClickListener,为什么还要将它转换为OnClickListener?
答案 2 :(得分:0)
只需在布局清单中检查按钮ID是否正确并且使用的是您正在使用的相同ID,如果是,请使用LogCat输出更新问题。
并检查活动是否在清单中定义,因为代码中没有错误实现多个按钮的onclick监听器。
享受!!
答案 3 :(得分:0)
添加按钮侦听器的示例:
Button b = ((Button)findViewById(R.id.button_name));
b.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//do something
}
});
并确保在xml文件中使用id @ + id / button_name或@ id / button_name定义按钮(只需确保它们匹配)