Android logcat
的输出通知我在我的程序中的某个时刻出现了ArrayIndexOutOfBoundsException
:
我之前为按钮设置了一个布尔值,该按钮用于测试目的。
这是相信错误所在的代码:
int hour = new Date().getHours();
int min = new Date().getMinutes();
int secs = new Date().getSeconds();
String date = hour + ":" + min+ ":" + secs;
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
bSet = true;
}
});
while (date =="01:00:00" || bSet == true);
int randomNumber = rand.nextInt();
tv.setText(getResources().getString(ids[randomNumber]));
答案 0 :(得分:2)
我认为你在最后一行有例外。
正好在ids[randomNumber]
你应该检查随机生成的数字,因为它可以大于ids.length。
使用rand.nextInt(ids.length);
它将生成从0到ids.length的随机数。
答案 1 :(得分:1)
为了更好地改变实践
while (date =="01:00:00" || bSet == true);
as
while (date.equals("01:00:00") || bSet)
并将int randomNumber = rand.nextInt();
改为int randomNumber = rand.nextInt(ids.length);