我做了一个偏好列表。我从代码中得到它
addPreferencesFromResource(R.xml.preferencelayout);
这将我带到我的preferencelayout.xml
文件中,其中包含以下内容:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="Settings">
<ListPreference
android:key="listPref"
android:title="Shake sensitivity"
android:summary=""
android:entries="@array/listArray"
android:entryValues="@array/listValues"
android:defaultValue="165" />
<SeekBarPreference
android:defaultValue="22"
android:title="Set the default time"
android:key="seekBar">
</SeekBarPreference>
<CheckBoxPreference
android:key="checkboxPref"
android:title="Autodecrease music"
android:summary=""
android:defaultValue="true"/>
</PreferenceCategory>
</PreferenceScreen>
当我按下SeekBarPreference按钮时,会出现一个包含Seekbar和2个按钮的对话框,保存并取消!
我的问题出现了:
我可以添加textview或在搜索栏旁边显示的内容,以查看搜索栏当前指向的值吗?
如何获取用户输入的值?
谢谢!
答案 0 :(得分:0)
您可以从OnSeekBarChangeListener
获得价值。
答案 1 :(得分:0)
这将捕获搜索栏的ontouch侦听器,并将根据搜索栏的值更改来更改textview的文本。
SeekBar bar = (SeekBar)findViewById(R.id.seekbar);
bar.setOnTouchListener(new SeekBar.OnTouchListener()
{
public boolean onTouch(View v, MotionEvent arg1)
{
View parent = (View)v.getParent();
TextView textView = (TextView)parent.findViewById(R.id.seekbarProgress);
if (textView != null)
{
SeekBar seekBar = (SeekBar)v;
int progress = seekBar.getProgress();
textView.setText(seekBar.getProgress() + "/" + seekBar.getMax());
}
return false;
}
});
答案 2 :(得分:0)
现在,Android开箱即用地支持此行为,只需将以下行添加到您的SeekBarPreference
:
app:showSeekBarValue="true"