android乘法按钮案例开关

时间:2013-01-22 20:58:42

标签: android button toast

我一直在看一些帖子,但我仍然无法让我的代码工作(我是初学者)..我只是想用我的两个按钮和一个案例开关使用吐司..编译时只是崩溃..有一个想法?

代码:

@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;
        }
      }

4 个答案:

答案 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定义按钮(只需确保它们匹配)