如何在创建的活动上获取搜索栏默认进度位置

时间:2016-11-14 11:50:27

标签: android android-seekbar

我在onCreate()活动中有以下代码:

SeekBar vSeekbar = (SeekBar)findViewById(R.id.seekBar1);
final TextView tvText = (TextView) findViewById(R.id.textView);
//sets seekbar tab position from a randomly generated number...
//when the acitivty is first created I would like the SeekBar position to be set in the `textView`
tvText.setText(vSeekbar.getProgress()); //this is not showing anything...

//the onchangelistener works correctly...
vSeekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener()
{
    @Override
    public void onStopTrackingTouch(SeekBar arg0)
    {
    }

    @Override
    public void onStartTrackingTouch(SeekBar arg0)
    {
    }

    @Override
    public void onProgressChanged(SeekBar arg0, int progress, boolean arg2)
    {
        tvText.setText(String.valueOf(progress)); //this works fine...
    }
});

seekBar1位置由创建视图时生成的随机数设置,因此我无法事先知道。

如何在创建视图时获取seekBar1位置,并在textView中设置它。

2 个答案:

答案 0 :(得分:2)

将随机值设置为seekbar后调用vSeekbar.getProgress()方法。在你打电话之前,你只有零值。

vSeekbar.setProgress(randomValue());
tvText.setText(vSeekbar.getProgress()+"");

答案 1 :(得分:0)

您最好将随机值限制为ProgressBar最大值。

例如,如果您的最大值为100,请使用以下代码:vSeekbar.setProgress(randomValue() % 100);

它会将随机值限制为0到99