我的数组到达最后一个索引后,我得到一个异常,说索引超出范围。我想做的是回到第一个索引。我怎么能这样做?
这是我的作品
String[] name = {"A", "B", "C", "D"};
Button buttonNext;
int i = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonNext = (Button) findViewById(R.id.buttonNext);
buttonNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
i++;
nextText(i);
}
});
}
private void nextText(int id) {
Log.i("Name is ", name[id]);
}
答案 0 :(得分:1)
将代码更改为此。
String[] name = {"A", "B", "C", "D"};
Button buttonNext;
int i = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonNext = (Button) findViewById(R.id.buttonNext);
buttonNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(i < name.length-1)
i++;
else
i=0;
nextText(i);
}
});
}
private void nextText(int id) {
Log.i("Name is ", name[id]);
}
输出应如下。 第一次:名字是B. 第二次:名字是C 第三次:姓名是D. 第四时间:名字是A
答案 1 :(得分:0)
buttonNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
nextText(i);
if(i<name.length){
i++;
}else{
i==0;
}
});
}
答案 2 :(得分:-1)
像这样添加支票
buttonNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
i++;
if (i < name.length) nextText(i); //added if condition.
}
});