我正在编写一个 Android 应用程序,我想为用户提供一些他们可以自定义的设置。但是,每当我在溢出中按下设置按钮时,它不会加载设置并且我的应用程序崩溃。
这是我的菜单和菜单切换器代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case R.id.action_settings:
Intent intent = new Intent(this, SettingsActivity.class);
startActivity(intent);
return true;
}
return super.onOptionsItemSelected(item);
}
这是设置活动:
public class SettingsActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getFragmentManager().beginTransaction().replace(android.R.id.content, new SettingsFragment()).commit();
}
}
这是首选项片段:
public class SettingsFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
}
我应该有另一种方式来处理设置页面吗?我按照 Android 开发者网站的说明进行操作。
顺便说一句,我如何存储这些设置并在主要活动中访问它们?