0
我试图从正常Activity的BroadcastReceiver类的EditText中获取一个字符串。 SharedPreferences让我感到困惑,这就是我现在设置的方式。它的作用是保存字符串和全部,但我无法检索它。在BroadcastReceiver类中检索字符串SharedPreference
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_setup);
savedLocation = getSharedPreferences("location", MODE_PRIVATE);
mZipCodeET = (EditText)findViewById(R.id.edittext_area);
mZipCodeET.setText(savedLocation.getString("tag", ""));
// @param 2 is default value of the edit text
mZipCodeET.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
Time time = new Time(Time.getCurrentTimezone());
time.setToNow();
mLastRefreshTV.setText("Last Refresh: " + time.format("%k:%M:%S"));
String EditTextString = mZipCodeET.getText().toString();
searchByPlaceName(EditTextString);
if(mZipCodeET.getText().length() > 0) {
makeTag(EditTextString);
((InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE))
.hideSoftInputFromWindow(mZipCodeET.getWindowToken(),0);
}
}
return false;
}
});
,并在那里它调用makeTag()方法
private void makeTag(String tag){
String or = savedLocation.getString(tag, null);
SharedPreferences.Editor preferencesEditor = savedLocation.edit();
preferencesEditor.putString("tag",tag); //change this line to this
preferencesEditor.commit();
}
我只是想检索字符串,如果你把它分配给我的onReceieve()方法中的另一串在我的广播类可以提供帮助,并解释说那会很棒。谢谢。