1

我正在制作一个项目 - Android - Arduino。

我有一个搜索栏来处理温度,将其设置为 20'-35'。

当我打开程序时,我希望将搜索栏设置为传感器设置的温度,而不是 0,让我设置它。

这是我的搜索栏的代码:

    seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener()
    {

     public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser)
     {
          tvTemp.setText(Double.toString(progress + 20));
     }
     public void onStartTrackingTouch(SeekBar seekBar) {}
     public void onStopTrackingTouch(SeekBar seekBar) {}
});
4

4 回答 4

1
<SeekBar
        android:id="@+id/seek_bar"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:max="35"
        android:progress="20" />

通过 xml 你可以这样做: android:progress="20"意味着 20 是默认位置。搜索栏的起点。

或者在您的代码中,您可以这样做:

your_seekBar.setProgress(start_position);
ie.your_seekBar.setProgress(20); 

然后你可以尝试:

your_seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {               

            int progressChanged = 0;

            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser){
                progressChanged = progress;
            }

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

            public void onStopTrackingTouch(SeekBar seekBar) {
                Toast.makeText(your_activity.this,"seek bar progress:"+progressChanged, 
                        Toast.LENGTH_SHORT).show();
            }
        });
于 2013-08-27T10:50:12.430 回答
0

您可以在您的 xml 文件中设置它:

android:progress="20"
于 2013-08-27T10:38:17.350 回答
0

只需添加

seekBar.setProgress(value)

以下

seekBar.setOnSeekBarChangeListener

如果您的值介于 20 和 35 之间,您可能还需要指定

android:max="35"
android:min="20"

在您的 xml 布局中为您的搜索栏

于 2013-08-27T10:38:26.773 回答
0

SeekBar 继承自 ProgressBar,因此您可以使用 'setProgress()' 方法来设置启动进度。

seekBar.setProgress(someValue);

它会起作用的

于 2013-08-27T10:40:55.840 回答