Все, что я просто хочу сделать, это сохранить любой номер калории, который пользователь вводит в EditText. Я слишком долго пытался реализовать savedpreferences.SharedPreferences с EditText Number
Эта цифра калорийности будет передана другому действию, я просто хочу, чтобы значение оставалось там, поэтому, если вы переключаете действия или выходите/вводите приложение, число остается.
Вы увидите мои догадки о том, какой код должен быть с несколькими апострофами перед ними. В настоящее время без апострофов он строит, но ошибки до начала.
При решении, не могли бы вы добавить его прямо в код? Возможно, я полностью перепутал все это. (кнопка сохранения также будет работать) Спасибо!
public class Settings extends ActionBarActivity {
//public static final String MY_PREFS_NAME = "MyPrefsFile";
EditText calorieSet;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
//SharedPreferences sharedPreferences = getApplication().getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
//String calValue = sharedPreferences.getString("calValue", "default");
//calorieSet.setText(calValue);
}
public void onClick(View view) {
Intent i = new Intent(this, MainActivity.class);
final EditText calorieSet = (EditText) findViewById(R.id.calorieSet);
String userCals= calorieSet.getText().toString();
i.putExtra("calorieSet",userCals);
if (userCals == null || userCals.equals("")) {
Toast.makeText(this, "Please enter a calorie number", Toast.LENGTH_SHORT).show();
return;
}
//SharedPreferences sharedPreferences = getApplication().getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
//SharedPreferences.Editor editor = sharedPreferences.edit();
//editor.putString("calValue", calorieSet.getText().toString());
//editor.commit();
startActivity(i);
}
Легкое исправление, но такая стычка я не видел раньше! Благодаря! Быстрое наблюдение, могу ли я заставить его сказать что-то другое, чем «default» в первый раз, когда оно открыто? Может быть, оставить его пустым или поставить другое значение сначала, как и при инициализации в 2000 году? – pjhollow
Изменено "default" на null. Выглядит неплохо. – pjhollow
Вы также можете использовать "" по умолчанию. – samgak