在我的应用程序中使用了简单的listview,它用于显示来自DB的字符串内容。
我有一个叫下一个按钮,如果我点击下一个项目会突出显示某种颜色,它正在工作,但问题是如果这些项目超过7个项目,并点击'下一步'按钮给出forceclose。问题是什么。请给我解决它的想法。
编辑:
我使用简单的listview来显示它上面的项目,这是因为listview到达listview的结尾(底部)还是其他一些问题?你能告诉我它有什么问题我遇到过这个问题吗?
我的代码是“下一步”按钮:
else if(v.getId()==R.id.buttonBookmarkrNext)
{
if((pos+1) == length)
{
//if no of files exist in a arraylist and current position of a file matches do the following
pos = 0;
audiofile=(String) lv.getItemAtPosition(pos);
Toast.makeText(this, " next file1",Toast.LENGTH_SHORT).show();
lv.getChildAt(length-1).setBackgroundColor(0x00000000);
lv.getChildAt(pos).setBackgroundColor(Color.LTGRAY);
}
else if(pos<length)
{
//if no of files exist in a arraylist(lenght) are greater than current position(pos) of a file do the following
pos ++;
//audioDetails = (ArrayList<String[]>) lv.getItemAtPosition(pos);
audiofile=(String) lv.getItemAtPosition(pos);
Toast.makeText(this, " next file",Toast.LENGTH_SHORT).show();
lv.getChildAt(pos-1).setBackgroundColor(0x00000000);
lv.getChildAt(pos).setBackgroundColor(Color.LTGRAY);
String str=(String) lv.getItemAtPosition(pos);
//Log.e("next file end",str);
Toast.makeText(this, " end file"+str,Toast.LENGTH_SHORT).show();
}
}
答案 0 :(得分:0)
你的问题就在这里......
else if(pos<length) // pos should be less than length-1,
{
pos ++;
.......
.......
}
试试这种方式......
else if(pos<(length-1))
{
pos ++;
.......
.......
}