我有listview的问题,我用它来存储数据库内容

时间:2012-09-17 04:23:09

标签: java android android-listview

在我的应用程序中使用了简单的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();
        }
    }

1 个答案:

答案 0 :(得分:0)

你的问题就在这里......

else if(pos<length)    // pos should be less than length-1, 
        {

            pos ++;

        .......
        .......

        }

试试这种方式......

else if(pos<(length-1))     
        {

            pos ++;

        .......
        .......

        }