我試圖獲取存儲在另一個類的共享偏好數據,如何從另一個類中獲取SharedPreference中的數據?
public class MyActivity_Settings extends ListActivity {
//Shared Preference
SharedPreferences mSharedPreferences;
public static final String MYPREFERENCES = "MyUserChoice";
public ArrayList<String> selectedItems = new ArrayList<>();
//onCreate
mSharedPreferences = getSharedPreferences(MYPREFERENCES, Context.MODE_PRIVATE);
@Override
public void finish() {
String selected = "My string"
SharedPreferences.Editor prefEditor = mSharedPreferences.edit();
prefEditor.putString(MYPREFERENCES, selected);
prefEditor.apply();
super.finish();
}
所以,從另一個類我要檢查是否爲MyPreference有一些數據,也基本上使用這些數據,這樣我可以進一步代碼
我想要做這樣的事情
if (mSharedPreferences.contains(MYPREFERENCES)) {
String savedItems = mSharedPreferences.getString(MYPREFERENCES, "");
selectedItems.addAll(Arrays.asList(savedItems.split(",")));
這是另一項活動
MyActivity_Settings mMyActivity_settings = new MyActivity_Settings();
public class MainActivity extends AppCompatActivity{
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Obviously this is not working
if(mMyActivity_settings.mSharedPreferences.contains(mMyActivity_settings.MYPREFERENCES){
Toast.makeText(this, " From MainACTIVITY WE HAVE DATA",Toast.LENGTH_LONG).show();
}
}
}
請在MyActivity_Settings中顯示用於int'mSharedPreferences'的代碼 –
瞭解有關Android和上下文的更多信息。 – GensaGames
@PhanVănLinh我已更新代碼 – choman