У меня проблема с моим кодом здесь.Я использую SharedPreferences в своем коде, и я получаю исключение NullPointerException в одной строке кода.Вот полный код:
public class Exercise extends Activity {
String WEIGHT = "0";
String AGE = "0";
String FEET = "0";
String INCHES = "0";
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.exercise);
SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
SharedPreferences.Editor prefsEditor = myPrefs.edit();
prefsEditor.putInt(WEIGHT, 0);
prefsEditor.putInt(AGE, 0);
prefsEditor.putInt(FEET, 0);
prefsEditor.putInt(INCHES, 0);
prefsEditor.commit();
final EditText weightField = (EditText) findViewById(R.id.EditTextWeight);
try {
prefsEditor.putInt(WEIGHT, Integer.parseInt(weightField.getText().toString()));
prefsEditor.commit();
} catch(NumberFormatException nfe) {
System.out.println("Could not parse " + nfe);
}
В этой строке появляется исключение NullPointerException:
prefsEditor.putInt(WEIGHT, Integer.parseInt(weightField.getText().toString()));
Спасибо!
РЕДАКТИРОВАТЬ: Вот действие, которое вызывает setContentView (R.layout.main):
public class CalorieIntakeCalculator extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void next(View view) {
Intent intentExercise = new Intent(view.getContext(), Exercise.class);
startActivityForResult(intentExercise, 0);
}
}
Когда в файле main.xml нажимается кнопка «Далее», он отправляет next
, который переключает упражнения из CalorieIntakeCalculator в упражнение.