Я некоторое время искал, но, похоже, ни у кого на самом деле нет такой проблемы, так что, может быть, это просто простая ошибка программирования.
После новой установки на мой планшет программа загружается, затем, если вы перейдете в меню настроек, выберите текстовое поле nPref и введите значение, с которым программа справится. Но когда вы перезапускаете программу, она падает изначально после ввода значения.
Грубый набросок моей программы выглядит так:
<import statments>
public class Galaxy extends Activity{
public void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN); //request fullscreen
super.onCreate(savedInstanceState);
setContentView(new Simulation(this)); //set contentview to my class
}
public boolean onCreateOptionsMenu(Menu menu) { //create ("inflate") the menu
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.layout.options_menu, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) { //check if a menu item is pressed
switch (item.getItemId()) {
case R.id.m_SETTINGS:
Toast.makeText(Galaxy_test2Activity.this, "Preference Launched!",Toast.LENGTH_SHORT);
Intent i = new Intent(Galaxy_test2Activity.this, Preferences.class);
startActivity(i);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
class Simulation extends View {
//I declare my program variables here
public Simulation(Context context) {
super(context);
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); //get the preferences
int storedPreference = preferences.getInt("nPref", 0); //attempt to get a value from the preferences
Log.i(TAG, "storedPref nPref = " + storedPreference); //log it to see if it is working
//rest of my program
//I also have onDraw and onTouchEvent
}
}
}
Если вам нужно что-то еще, я могу опубликовать это
Спасибо!