Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 设置SeekBar值_Android_Seekbar - Fatal编程技术网

Android 设置SeekBar值

Android 设置SeekBar值,android,seekbar,Android,Seekbar,我正在使用一个SeekBar和两个TextView创建一个简单的高度计算应用程序。 第一个是英尺,第二个是英寸。 我希望这样,如果值超过12,它将自动重置为0,高度应增加1 我该怎么做 这就是我到目前为止所做的: height_seekbar.setProgress(68); height_feet_textview.setText(String.valueOf(5)); height_inches_textview.setText(String.valueOf(

我正在使用一个SeekBar和两个TextView创建一个简单的高度计算应用程序。
第一个是英尺,第二个是英寸。
我希望这样,如果值超过12,它将自动重置为0,高度应增加1

我该怎么做

这就是我到目前为止所做的:

height_seekbar.setProgress(68);
        height_feet_textview.setText(String.valueOf(5));
        height_inches_textview.setText(String.valueOf(8));
        height_seekbar
                .setOnSeekBarChangeListener(new OnSeekBarChangeListener() {


                    @Override
                    public void onStopTrackingTouch(SeekBar seekBar) {
                        // TODO Auto-generated method stub
                        // height_seekbar_textview.setText(seekBar.getProgress()
                        // + " ");
                    }

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

                    }

                    @Override
                    public void onProgressChanged(SeekBar seekBar,
                            int progress, boolean fromUser) {
                        // TODO Auto-generated method stub

                        //progress += 60;
                        int feet = progress / 12;
                        int inches = (progress % 12);

                        height_feet_textview.setText(String.valueOf(feet));
                        height_inches_textview.setText(String.valueOf(inches));

                        Log.i("BodyProfileHeightWeightActivity",
                                "Progress of seekbar" + progress);
                        // if (progress >= 12) {
                        //
                        // height_seekbar_textview.setText(0);
                        //
                        // }
                        // String heightSelected = String.valueOf(progress);
                        // height_seekbar_textview.setText(heightSelected);

                    }
                });
应用以下逻辑:

@Override
public void onProgressChanged(SeekBar seekBar,
    int progress, boolean fromUser) {
    // TODO Auto-generated method stub

    progress += 60;

    int feet = progress / 12;
    int inches = progress % 12;

    txt_feet.setText(String.valueOf(feet));
    txt_inches.setText(String.valueOf(inches));
}

这是可行的,但我想在大于12时将inch textview的值再次设置为0。这将可行。例如,如果进度为48,则txt_英尺将为4,txt英寸将为0。您也可以帮助我。如果这是正确的解决方案,那么你可以投票支持我的答案,如果这个答案是你想要的,那么你可以将我的答案标记为接受。不幸的是,你将无法投票支持。你将需要至少15个声誉。谢谢你接受顺便说一句:)还有一件事…我想把最小值设置为5.0。如果我将setprogress值设置为0,我们该怎么做?圆形轮子将返回到起点
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            if(progress>=12){
                seekBar.setProgress(0);
            }
        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {

        }

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {

        }
    });