对于我正在制作的应用,我添加了“设置”菜单。到目前为止,我已经有一个复选框选项显示出来。并保持首选项(记住选中或取消选中复选框)。
然而,在我的代码中它什么也没做。我希望用户体验:
我已经浏览了很多教程和Android文档以及新的波士顿视频等。但是我实现的代码都没有能够做到这一点。它要么崩溃要么什么都不做。
有人可以解释一下如何做到这一点吗?我无法想象这很难。
谢谢!
答案 0 :(得分:0)
在您的Activity的onCreate方法中,获取您的首选项的值,然后根据设置的内容采取相应的行动(这里是伪代码):
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout);
RelativeLayout relLayout = (RelativeLayout) findViewById(R.id.myRelativeLayout);
// get value from shared prefs to variable sharedPrefValue
if (sharedPrefValue)
relLayout.setBackgroundColor(colors.black);
}
答案 1 :(得分:0)
您可以轻松地根据设置更改布局,但只有在重新启动活动时才会看到更改
public void onCreate(final Bundle savedInstanceState)
{
//...
int mylayout = R.layout.main;
if (preferenceIsTrue)
mylayout = R.layout.mainDark;
setContentView(mylayout);
//...
}
答案 2 :(得分:0)
他们回答了我的问题:
使用:
SharedPreferences sharedPreferences = PreferenceManager
.getDefaultSharedPreferences(this);
Boolean prefCheckBox = sharedPreferences.getBoolean(
"background_checkbox", false);
然后使用prefCheckBox检查是否已检查。
此外,为了确保从设置菜单返回时设置了背景,我将其添加到OnActivityResult()方法。