私は3つのEditTextを持っています。テキストまたは数字を入力して保存ボタンをクリックすると、別のアクティビティに移動します。再び editText に戻ると、値がなくなり、android:text="value" に設定されます。editText ボックスに入力した後に値を表示する必要があります。
コード:
et=(EditText)findViewById(R.id.pieces);
et1=(EditText)findViewById(R.id.portions);
et2=(EditText)findViewById(R.id.ml);
save=(Button)findViewById(R.id.submit_data);
save.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
SharedPreferences preferences = getApplicationContext().getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("text1",pieces.getText().toString());
editor.putString("text2",portions.getText().toString());
editor.putString("text3",ml.getText().toString());
editor.commit();
String oneedit= preferences .getString("text1", "");
String twoedit= preferences .getString("text2", "" );
String thirdedit= preferences .getString("text3", "" );
pieces.setText(oneedit);
portions.setText(twoedit);
ml.setText(thirdedit);
/*
SharedPreferences.Editor editor = preferences.edit();
editor.putString("text1",pieces.getText().toString());
editor.putString("text2",portions.getText().toString());
editor.putString("text3",ml.getText().toString());
editor.commit();
Intent intent=new Intent(Activity.this,Activity1.class);
startActivity(intent);
}
});
以下のコードを使用すると、保存された値がロードされます。
edit.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
SharedPreferences preferences = getSharedPreferences(PREFS_NAME, 0);
//edittext.setText(sharedpreference.getString(KEYNAME, "No value Stored"));
et.setText(preferences.getString("text1", " "));
et1.setText(preferences.getString("text2", " "));
et2.setText(preferences.getString("text3", " "));
}
});