Android 显示seekbar的上一个值

Android 显示seekbar的上一个值,android,android-seekbar,Android,Android Seekbar,我正在数据库中存储一些评分。每当移动seekbar时,这些评分都会显示在textview中。但问题是,每当我向后移动拇指时,都不会显示向后的值。它只显示最后一个值。当我向后移动拇指时,如何显示评分。我试过的代码是- public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { view = inflater.inflate(R.layo

我正在数据库中存储一些评分。每当移动seekbar时,这些评分都会显示在textview中。但问题是,每当我向后移动拇指时,都不会显示向后的值。它只显示最后一个值。当我向后移动拇指时,如何显示评分。我试过的代码是-

public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) 
    {
        view = inflater.inflate(R.layout.interval, container, false);
        seekbar=(SeekBar)view.findViewById(R.id.seekBar1);
        ques = (TextView)view. findViewById(R.id.question);
        textrating=(TextView)view.findViewById(R.id.textRating);
        /*l1=(LinearLayout)view.findViewById(R.id.linear);*/
        db=new DatabaseHandler(getActivity());
        retrieveQuestion();
        retrieveRating();
        seekbar.setProgress(0);
        seekbar.incrementProgressBy(diff);
        seekbar.setMax(ratinglast);

        seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener()
        {

            @Override
            public void onProgressChanged(SeekBar seekbar, int progress, boolean fromuser) 
            {
                 Log.e("DEBUG", "Progress is: "+progress);
                 if(j<len)
                 {
                     progress=rating[j];
                     j++;
                     textrating.setText(""+progress);
                 }




            }

            @Override
            public void onStartTrackingTouch(SeekBar seekbar) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onStopTrackingTouch(SeekBar seekbar) 
            {
                // TODO Auto-generated method stub


        }

        });


         return view;
    }

    void retrieveQuestion()
    {
        db.open();
        Cursor c=db.getQuestion(username,surveyName,selectedQues,question_no);
        if(c.moveToFirst())
        {
            int index=c.getColumnIndex("question");
            question1= c.getString(index);
            ques.setText(question1);
        }

    }

    public void retrieveRating()
    {
        Cursor c=db.getAnswer(username, surveyName, selectedQues, question_no);
        len=c.getCount();
        Log.e("len",""+len);
        if(c.moveToFirst())
        {
            do
            {
                int index=c.getColumnIndex("answer");
                rating[i]=c.getInt(index);
                Log.e("i",""+i);
                Log.e("rating in do while",""+rating[i]);
                i++;
            }while(c.moveToNext());
        }
        rating1=rating[0];
        rating2=rating[1];
        diff=rating2-rating1;
        Log.e("diff",""+diff);
        ratinglast=rating[len-1];
        Log.e("ratinglast",""+ratinglast);
    }
} 
创建视图时的公共视图(布局、充气机、视图组容器、捆绑包保存状态) { 视图=充气机。充气(右布局间隔,容器,假); seekbar=(seekbar)view.findViewById(R.id.seekBar1); ques=(TextView)view.findViewById(R.id.question); textrating=(TextView)view.findViewById(R.id.textrating); /*l1=(LinearLayout)view.findViewById(R.id.linear)*/ db=新的DatabaseHandler(getActivity()); 检索问题(); 检索(); seekbar.setProgress(0); seekbar.incrementProgressBy(差异); 见kbar.setMax(额定值最后); seekbar.setonseekbarchaneglistener(新的onseekbarchaneglistener() { @凌驾 public void onProgressChanged(SeekBar-SeekBar、int-progress、boolean-fromuser) { Log.e(“调试”,“进度为:”+进度);
如果(j我已经为我的问题找到了另一种解决方案-

我实现的代码是:

 public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) 
                {
                    view = inflater.inflate(R.layout.interval, container, false);
                    seekbar=(SeekBar)view.findViewById(R.id.seekBar1);
                    ques = (TextView)view. findViewById(R.id.question);
                    textrating=(TextView)view.findViewById(R.id.textRating);
                    db=new DatabaseHandler(getActivity());
                    retrieveQuestion();
                    retrieveRating();
                    seekbar.setProgress(0);
                    //ratinglast is last rating
                    seekbar.setMax(ratinglast);

                    seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener()
                    {

                        @Override
                        public void onProgressChanged(SeekBar seekbar, int progress, boolean fromuser) 
                        {
                             Log.e("DEBUG", "Progress is: "+progress);
                            //diff is difference between two ratings.
                             progress = ((int)Math.round(progress/diff ))*diff;
                             seekbar.setProgress(progress);
                             textrating.setText(progress + "");
            }
            @Override
                        public void onStartTrackingTouch(SeekBar seekbar) {
                            // TODO Auto-generated method stub
                        }

                        @Override
                        public void onStopTrackingTouch(SeekBar seekbar) 
                        {

                        }
                    });
                    return view;
                }
        //Method to retrieve rating from sqlite database
        public void retrieveRating()
            {
                Cursor c=db.getAnswer(username, surveyName, selectedQues, question_no);
                len=c.getCount();
                Log.e("len",""+len);
                if(c.moveToFirst())
                {
                    do
                    {
                        int index=c.getColumnIndex("answer");
                        rating[i]=c.getInt(index);
                        Log.e("i",""+i);
                        Log.e("rating in do while",""+rating[i]);
                        i++;
                    }while(c.moveToNext());
                }
                rating1=rating[0];
                rating2=rating[1];
                diff=rating2-rating1;
                Log.e("diff",""+diff);
                ratinglast=rating[len-1];
                Log.e("ratinglast",""+ratinglast);
            }