在Activity A中有一個TextView。程序中使用Shared Preferences來把一個TextView 保存在Activity C中。
當加載 Activity A 或者 B時,不去Activity C如何從Activity C中獲取TextView?
Activity A 現在用下面的方法來獲取 TextView
Intent id = getIntent();
if (id.getCharSequenceExtra("idid") != null) {
final TextView setmsg = (TextView)findViewById(R.id.loginid2);
setmsg.setText(id.getCharSequenceExtra("idid"));
}
只有另一個 activity 使用 putExtra 來獲取的話才能執行。
你可以在 Activity C 中使用 SharedPreference:
textview.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(ActivityC.this);
SharedPreferences.Editor editor = pref.edit();
editor.putString("idid", ""+s);
editor.commit();
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
在 Activity A onCreate 中:
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(ActivityA.this);
setmsg.setText(pref.getString("idid", "null"));