Android 安卓:当我第一次单击按钮时,数组索引没有';不显示我的第一个索引,但它显示第二个索引
我正在android上创建一个应用程序,用于查看带有声音的图像。当我第一次单击“下一步”按钮时出现问题,它没有显示带有声音的第一个索引图像,但显示了我的第二个索引。我想在第一次单击“下一步”按钮时显示我的第一个索引Android 安卓:当我第一次单击按钮时,数组索引没有';不显示我的第一个索引,但它显示第二个索引,android,Android,我正在android上创建一个应用程序,用于查看带有声音的图像。当我第一次单击“下一步”按钮时出现问题,它没有显示带有声音的第一个索引图像,但显示了我的第二个索引。我想在第一次单击“下一步”按钮时显示我的第一个索引 public void btn_click(View v){ ImageView imageview = (ImageView)findViewById(R.id.ImageViewPreview3); if (v == btn_next) { tr
public void btn_click(View v){
ImageView imageview = (ImageView)findViewById(R.id.ImageViewPreview3);
if (v == btn_next) {
try {
currentimageindex = (currentimageindex + 1) % IMAGE_IDS.length;
currentsoundindex = (currentsoundindex + 1) % myMusic.length;
} catch (Exception e) {
Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_SHORT).show();
}
}
if (v == btn_back) {
try {
currentimageindex = (currentimageindex + IMAGE_IDS.length - 1) % IMAGE_IDS.length;
currentsoundindex = (currentsoundindex + myMusic.length - 1) % myMusic.length;
} catch (Exception e) {
Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_SHORT).show();
}
}
imageview.setImageResource(IMAGE_IDS[currentimageindex]);
mp = MediaPlayer.create(this, myMusic[currentsoundindex]);
mp.start();
}
}
使用equals(Object)代替==
if (v.equals(btn_next)) {
try {
currentimageindex = (currentimageindex + 1) % IMAGE_IDS.length;
currentsoundindex = (currentsoundindex + 1) % myMusic.length;
} catch (Exception e) {
Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_SHORT).show();
}
}
依此类推。然后,您可能希望首先将
currentimageindex
设置为-1,因为您正在向它添加一个(尽管如果在其他地方使用它,请小心)。或者使用一些标志来查看是否尚未显示第一个。在这种情况下,=
有效,因为视图实际上是同一个对象。