我将 textview 值存储在 sharedpreferences 中,但不确定在 oncreate 或 onresume 中加载它们?当用户关闭应用程序然后再次打开它时,我想再次显示这些值。StorageUtil 是一个管理我的共享首选项的类。我想将seekbar 值存储在sharedpreferences 中。搜索栏值 mSeekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { StorageUtil storageUtil = new StorageUtil(getApplicationContext()); if (mediaPlayer != null && fromUser){ lastSeekbarPos = progress; mSeekbarProgress = progress * 1000; mediaPlayer.seekTo(mSeekbarProgress); } //Store last SeekBar position in mSharedPreferences storageUtil.storeSeekbarProgress(lastSeekbarPos); } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { } }); songList = storageUtil.getSongs(); songIndex = storageUtil.loadSongIndex(); lastSeekbarPos = storageUtil.loadSeekbarProgress(); if (songList != null && !songList.isEmpty() && songIndex != -1){ lastSeekbarPos = storageUtil.loadSeekbarProgress(); tvSongTitle.setText(songList.get(songIndex).getTitle()); tvArtistName.setText(songList.get(songIndex).getArtist()); mSeekbar.setProgress(lastSeekbarPos); loadAlbumArt(); loadAlbumArtBottom(); Log.i(TAG, "Data found in mSharedPreferences"); }else{ mSlideUpPanel.setPanelState(SlidingUpPanelLayout.PanelState.HIDDEN); tvSongTitle.setText(""); tvArtistName.setText(""); }存储实用程序public class StorageUtil { private final String STORAGE = "com.vince_mp3player.STORAGE"; private SharedPreferences mSharedPreferences; private Context context; private SharedPreferences.Editor mEditor;public StorageUtil(Context context){ this.context = context;}
1 回答
慕尼黑5688855
TA贡献1848条经验 获得超2个赞
要么应该工作。
onCreate()
如果 Activity 完全完成,即您从“最近”中关闭应用程序,则调用。
onResume()
也可以onCreate()
在 Activity 重新进入前台后立即调用,即回家然后从“最近”打开应用程序。
添加回答
举报
0/150
提交
取消