点击几个按钮,我不能播放一个声音吗?

时间:2012-02-08 19:02:38

标签: android audio button

    @Override
public void onClick(View v) {
    if(v.getId()==R.id.cvp11 && v.getId()==R.id.cvp22 && v.getId()==R.id.cvp32)
        yc.start();
    else if(v.getId()==R.id.cvp12 && v.getId()==R.id.cvp21 && v.getId()==R.id.cvp31)
        dc.start();

}

在没有添加或声明的情况下,它会播放cvp11和cvp12按钮点击的声音,但我想用其他按钮点击播放这些声音。但是当我这样写时,当我点击每个按钮时,它们都没有播放。出了什么问题? THX。

2 个答案:

答案 0 :(得分:1)

试试这个:

switch(v.getId())
{
 case R.id.cvp11:
 case R.id.cvp22:
 case R.id.cvp32:
 yc.start();
 break;

 case R.id.cvp12:
 case R.id.cvp21:
 case R.id.cvp31:
 dc.start();
 break;

}

答案 1 :(得分:1)

我认为不是&&(逻辑AND运算符)而是要||(逻辑OR运算符):

public void onClick(View v) {
    if(v.getId()==R.id.cvp11 || v.getId()==R.id.cvp22 || v.getId()==R.id.cvp32)
        yc.start();
    else if(v.getId()==R.id.cvp12 || v.getId()==R.id.cvp21 || v.getId()==R.id.cvp31)
        dc.start();
}

当然,对于格式化和可用性,@ dmytrodanylyk的switch答案是一种更优雅的方式。