【发布时间】:2011-06-26 15:18:45
【问题描述】:
我正在尝试围绕视图、侦听器等进行思考。我有一个带有 2 个按钮的 Activity:buttonplay 和 buttonstop。我的问题是我无法完全围绕 Views 和 Listeners 来生成有效的 switch 语句。
例如,我想创建一个 SINGLE Listener 并以某种方式使用它来确定单击了哪个按钮。然后以某种方式使用在我的 switch 语句中单击的按钮的 ID,但是我在网上找到的所有内容似乎都对每个按钮使用 SEPARATE 侦听器,然后以某种方式使用 View 作为 Switch 语句的参数。
我意识到下面的代码不正确,但我正在寻找我需要进行哪些更改才能完成上述操作。
我想根据单击的按钮来控制 MediaPlayer。我有:
Button b1 = (Button) findViewById(R.id.buttonplay);
b1.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v) {
// Perform action on click
switch(v.getId()) {
case R.id.buttonplay:
//Play voicefile
MediaPlayer.create(getBaseContext(), R.raw.voicefile).start();
break;
case R.id.buttonstop:
//Stop MediaPlayer
MediaPlayer.create(getBaseContext(), R.raw.voicefile).stop();
break;
}
}
});
最终,我想要最直接的方式来打开单击的任何按钮。我相信我的困惑很大一部分源于在这种情况下使用 onClickListeners 和 Views 的方式。
【问题讨论】: