請告訴我如何在Android中的首選項中保存SeekBar進度,以及如何在用戶再次打開時在seekbar上顯示保存的值。在首選項中保存seekbar進度
2
A
回答
0
保存進度
SharedPreference mSharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
Editor mEditor = mSharedPrefs.edit();
int mProgress = mSeekBar.getProgress();
mEditor.putInt("mMySeekBarProgress", mProgress).commit();
,比你能做到這一點得到它:
int mProgress = mSharedPrefs.getInt("mMySeekBarProgress", 0);
mSeekBar.setProgress(mProgress);
0
初始化SharedPreferences對象:
SharedPreferences pre = getSharedPreferences("pre_name", Context.MODE_PRIVATE);
的喜好添加值:
pre.edit().putInt("KEY_PROGRESS_VALUE", 30).commit();
負荷喜好值:
int progress = pre.getInt("KEY_PROGRESS_VALUE",0); // 0: default value
然後設置進度條的進度:
progrssBar.setProgress(progress);
2
試試我與滑塊的偏好at GitHub簡單但完整的例子:
SeekBarPreference.java(保存SeekBar編RESS爲整數值):
public class SeekBarPreference extends Preference implements OnSeekBarChangeListener {
private SeekBar mSeekBar;
private int mProgress;
public SeekBarPreference(Context context) {
this(context, null, 0);
}
public SeekBarPreference(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public SeekBarPreference(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
setLayoutResource(R.layout.preference_seekbar);
}
@Override
protected void onBindView(View view) {
super.onBindView(view);
mSeekBar = (SeekBar) view.findViewById(R.id.seekbar);
mSeekBar.setProgress(mProgress);
mSeekBar.setOnSeekBarChangeListener(this);
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if (!fromUser)
return;
setValue(progress);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// not used
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// not used
}
@Override
protected void onSetInitialValue(boolean restoreValue, Object defaultValue) {
setValue(restoreValue ? getPersistedInt(mProgress) : (Integer) defaultValue);
}
public void setValue(int value) {
if (shouldPersist()) {
persistInt(value);
}
if (value != mProgress) {
mProgress = value;
notifyChanged();
}
}
@Override
protected Object onGetDefaultValue(TypedArray a, int index) {
return a.getInt(index, 0);
}
}
preference_seekbar.xml(與SeekBar和TextView的佈局文件):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical" >
<SeekBar
android:id="@+id/seekbar"
android:layout_width="0dp"
android:layout_weight="80"
android:layout_height="wrap_content" />
<TextView
android:id="@android:id/summary"
android:layout_width="0dp"
android:layout_weight="20"
android:layout_height="wrap_content" />
</LinearLayout>
相關問題
- 1. Seekbar想要保存進度
- 2. 在首選項中保存Firefox擴展
- 3. 首選項不保存在DialogPreference中
- 4. 保存Android的首選項
- 5. 無法在Sharedpreference首選項中保存當前狀態進度欄
- 6. Android SeekBar首選AudioManager?
- 7. Android列表首選項,如何保存個人首選項
- 8. 鈴聲首選項不保存選擇
- 9. 複選框值在android中保存共享首選項?
- 10. 已保存的首選項未獲取
- 11. 保存int的共享首選項?
- 12. 保存登錄信息(首選項)android
- 13. iPhone滑塊保存用戶首選項
- 14. 共享首選項保存Textview背景
- 15. 保存和恢復一組首選項
- 16. Libgdx:如何保存首選項?
- 17. 保存意向共享首選項
- 18. 保存excel 2003的打印首選項
- 19. seekbar進度定製
- 20. 動畫seekbar進度
- 21. EditText中的文本未保存在共享首選項中
- 22. 如何在iOS中的共享首選項中保存cookie?
- 23. 保存選項菜單共享首選項
- 24. 無法在Eclipse中保存項目首選參數
- 25. 如何在Mac OS中保存應用程序首選項?
- 26. 將自定義數組保存在共享首選項中
- 27. 如何在共享首選項中保存json響應的值?
- 28. 在ios中保存wifi身份驗證首選項
- 29. 保存並在首選項中打開TimerTime
- 30. 在共享首選項中保存R ID
使用Sharedprefrence –