为了账号安全,请及时绑定邮箱和手机立即绑定

我应该从 onCreate 还是 onResume 中的 sharedpreferences 加载值

我应该从 onCreate 还是 onResume 中的 sharedpreferences 加载值

守着一只汪 2021-10-13 15:52:35
我将 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 重新进入前台后立即调用,即回家然后从“最近”打开应用程序。


查看完整回答
反对 回复 2021-10-13
  • 1 回答
  • 0 关注
  • 153 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信