我在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
中设置它。
答案 0 :(得分:2)
将随机值设置为seekbar后调用vSeekbar.getProgress()方法。在你打电话之前,你只有零值。
vSeekbar.setProgress(randomValue());
tvText.setText(vSeekbar.getProgress()+"");
答案 1 :(得分:0)
您最好将随机值限制为ProgressBar
最大值。
例如,如果您的最大值为100,请使用以下代码:vSeekbar.setProgress(randomValue() % 100);
它会将随机值限制为0到99