Android:RatingBar的值(位于ListView中)未正确保存在数据库中

Android:RatingBar的值(位于ListView中)未正确保存在数据库中,android,listview,Android,Listview,我有一个列表视图,其中每一行包含一个复选框、一个文本视图和一个分级栏。我也有一个数据库,我存储的文本,这是唯一的,作为浮动评级和其他信息,这是不相关的 每次启动应用程序时,它都会从数据库中收集信息,并在ListView中显示出来。除了评级条。当用户更改评级栏的评级时,我希望将新值保存在数据库中,以便以后可以将其与存储在数据库中的其余信息一起使用。但问题是这个值没有正确保存,我不知道为什么,所以这个值没有正确显示,甚至显示在错误的行中 我尝试了一些我在这个网站上找到的代码,但我不能使它正常工作 这

我有一个列表视图,其中每一行包含一个复选框、一个文本视图和一个分级栏。我也有一个数据库,我存储的文本,这是唯一的,作为浮动评级和其他信息,这是不相关的

每次启动应用程序时,它都会从数据库中收集信息,并在ListView中显示出来。除了评级条。当用户更改评级栏的评级时,我希望将新值保存在数据库中,以便以后可以将其与存储在数据库中的其余信息一起使用。但问题是这个值没有正确保存,我不知道为什么,所以这个值没有正确显示,甚至显示在错误的行中

我尝试了一些我在这个网站上找到的代码,但我不能使它正常工作

这是我的自定义ArrayAdapter的getView:

public View getView(final int position, View convertView, ViewGroup parent) {
        View row = convertView;
        FilaLlistaHolder holder = null;
        if(row == null) {
            LayoutInflater inflater = ((SeriesDBActivity)context).getLayoutInflater();
            row = inflater.inflate(layoutResourceId, parent, false);
            holder = new FilaLlistaHolder();
            holder.txtTitle = (TextView)row.findViewById(R.id.txtTitle);
            holder.rating = (RatingBar)row.findViewById(R.id.ratingBar1);
            holder.checkbox = (CheckBox)row.findViewById(R.id.checkBox1);            
            row.setTag(holder);
            if (holder.rating != null) {
                holder.rating.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
                    public void onRatingChanged(RatingBar ratingBar,
                            float rating, boolean fromUser) {
                            if (fromUser) {

                                data[position].stars = rating;
                                FilaLlista filaLlista = data[position];
                                bd.openToWrite();
                                bd.saveRating(filaLlista.titol, rating);
                                bd.close();
                            }
                    }                   
                });
                holder.rating.setRating(data[position].stars);
            }
        }

        else
            holder = (FilaLlistaHolder)row.getTag();

        FilaLlista filaLlista = data[position];
        holder.txtTitle.setText(filaLlista.titol);
        holder.rating.setRating(filaLlista.stars);
        return row;
    }
正如您所看到的,我有一个setOnRatingBarChangeListener,它调用数据库来更新已更改其评级的行。我想说更新电话是正确的


提前感谢您的帮助。

您如何知道它没有正确保存?也许它检索不正确?您是否在检索操作和bd.saveRating中都设置了断点。。。检查是否正在检索/保存正确数据的操作?哦,天哪,我感到很尴尬!错误确实发生在我检索信息的地方。我不敢相信我已经和这件事斗争了两天。。。不管怎样,现在问题解决了。非常感谢你!没问题,我们都有过这样的时刻。