好的我有一个从用户那里收集数据的sqlite数据库 - 然后将这些信息发送到字符串数组并在屏幕上显示以下代码 -
继承数组和int var
List<String> array = new ArrayList<String>();
int currentPos = 0;
下一个按钮代码
nextBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
currentPos ++;
if (currentPos > 30) currentPos = 0;
textView.setText(array.get(currentPos ));
}
});
和上一个按钮代码
prevBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
currentPos --;
if (currentPos < 0) currentPos = 30;
textView.setText(array.get(currentPos ));
}
});
}
这里的代码如何工作这两个按钮允许用户通过在改变当前输出文本时使用增量更改int来在数组中来回移动 - 这意味着你可以从0到30崩溃,反之亦然。
当你在数组中有一定数量的数据时这很好用,但是在这种情况下很明显崩溃,因为它不可能硬编码用户输入sqlite然后数组的数据量。
问题是 - 是否有一种方法可以解决这个问题,即你可以用一些代码来代替数组的末尾?
答案 0 :(得分:3)
arraylist.size()返回数组的大小,或者在你的情况下,array.size()将返回数组的大小。
答案 1 :(得分:1)
是的,你几乎在那里: 你的数组有一个方法,它返回它自己的size:
List<String> array = new ArrayList<String>();
int currentPos = 0;
...
currentPos = array.size();
nextBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
currentPos ++;
if (currentPos > 30) currentPos = 0;
textView.setText(array.get(currentPos ))
}
});