0
我有一個活動和佔位符片段。我試圖在EditText框中加載一個字符串值,並在按下Save按鈕時保存它。但是在屏幕之間來回切換之後,應該顯示該文本的EditText不會顯示它。相反,它顯示文本「android.widget.EditText {5282c35c VFED..CL.F ...... 217,2-717,51#7f08005d app:id/nameInfo」。我不知道這是什麼意思。任何幫助將不勝感激。要麼我該如何修復,要麼我可以使用什麼來保存字符串值。Android共享首選項 - 重置
public class MyInformation extends Activity {
public static SharedPreferences.Editor editor;
public static final String PREFS_NAME = "MyPrefsFile";
public static SharedPreferences settings;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.personal_info_main);
settings = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
editor = settings.edit();
getFragmentManager().beginTransaction()
.replace(R.id.container, PlaceholderFragment.newInstance())
.commit();
}
public static class PlaceholderFragment extends Fragment {
public static PlaceholderFragment newInstance() {
Bundle args = new Bundle();
PlaceholderFragment fragment = new PlaceholderFragment();
fragment.setArguments(args);
return fragment;
}
public PlaceholderFragment() {
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View rootView = inflater.inflate(R.layout.fragment_my_information, container, false);
EditText name = (EditText) rootView.findViewById(R.id.nameInfo);
name.setText(settings.getString("key_name", null));
Button save = (Button) rootView.findViewById(R.id.saveButton);
save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getActivity().getApplicationContext(),
"Personal Information Saved",
Toast.LENGTH_LONG).show();
EditText name = (EditText) rootView.findViewById(R.id.nameInfo);
String nameAsString = name.toString();
editor.putString("key_name", nameAsString);
editor.commit();
}
});
return rootView;
}
}
}
這是我的問題。非常感謝。如你所知,我只是在學習android編程! – Stephanie 2015-03-19 00:15:48