【发布时间】:2014-01-15 03:30:33
【问题描述】:
我正在尝试根据EditText 中输入的数字更改SeekBar 的进度,但由于某种原因,EditText 值达到最大值,我无法在@987654325 中滑动拇指@。
我希望实现的目标:如果在 EditText 中输入的值介于 70 和 190 之间(包括两个数字),则将 SeekBar 的进度更改为该值。
部分 Java 代码:
etOne = (EditText) findViewById(R.id.etSyst);
etOne.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
String filtered_str = s.toString();
if (Integer.parseInt(filtered_str) >= 70 && Integer.parseInt(filtered_str) <= 190) {
sbSyst.setProgress(Integer.parseInt(filtered_str));
}
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
public void onTextChanged(CharSequence s, int start, int before, int count) {}
});
部分 XML:
<SeekBar
android:id="@+id/syst_bar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:progress="0"
android:max="120"
android:progressDrawable="@drawable/progress_bar"
android:secondaryProgress="0"
android:thumb="@drawable/thumb_state" />
我给每个值加 70,因为SeekBar 从 0 开始,但我希望它从 70 开始。
使用上面的代码后是这样的:
SeekBar 是最大数量,EditText 也是最大数量。
【问题讨论】:
-
发布用于搜索栏的 xml 布局
-
用 XML 更新了我的问题
-
seekbar 最大值为 120:android:max="120"
-
是的,因为在我的代码中我添加了 70。从技术上讲,我需要它从 70 到 190,即 0 到 120。
标签: java android android-edittext seekbar