在我的Android应用程序中,当我从微调器中做出某个选择时,我想要播放一些声音,但是我希望它在用户实际进行正确选择时(或之后)播放。我的问题是虽然声音确实在他们做出正确的选择时播放,但只要选择保持不变,它也会在每次应用启动时播放,而它应该只在选择时播放。这是我现在的代码:
fitnessSpinner = (Spinner) findViewById(R.id.fitness_spinner);
ArrayAdapter adapter4 = ArrayAdapter.createFromResource(
this, R.array.fitness_array, android.R.layout.simple_spinner_item);
adapter4.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
fitnessSpinner.setAdapter(adapter4);
fitnessSpinner.setOnItemSelectedListener(new OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long i) {
Log.d("test", "p: " + position + " " + i);
if(position == 0) {
//First Entry
MediaPlayer mp = MediaPlayer.create(mContext, R.raw.bowchica);
mp.start();
} if(position == 4) {
MediaPlayer mp = MediaPlayer.create(mContext, R.raw.debbie2);
mp.start();
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
如何在应用程序启动时停止播放声音?我应该将整个fitnessSpinner.setOnItemSelectedListener包装在某种类型的更改选择中吗?如果存在这样的事情?
答案 0 :(得分:0)
我可以想到你可以使用的解决方法 -
您可以在数组中使用虚拟条目。假如你想要将一组行星放入一个微调器中,那么就可以将数组作为 -
List of Planets
Mars
Earth
Venus
..
当应用程序启动时,它将显示一条信息性消息“行星列表”,在您的回调中,您可以使用代码 -
if(0 != pos){
//Play a sound
}