我是Android的新手,所以请耐心等待。
我正在尝试设置一个新应用,它需要看起来像这样:
每个类别都有许多选项。每个选项都有两个字符串来表示选项的名称及其配置信息。用户通过点击单选按钮选择一个选项。应该有两个广播组:每个类别一个。图像没有显示,但屏幕底部应该有“保存”和“取消”按钮。
对于布局,我调用了getAll来显示键和值(它们只是TextViews)。这就是我失去的地方。
如你所见,我完全迷失了。所以,任何帮助都会非常感激。
答案 0 :(得分:0)
我可以指导的是,在checkedchanged事件中,您可以在共享的pref中获取或放置值。 e.g
if(radio1 is checked)
{
sharedPref.putString(...); //puts values in pref
sharedPref.commit();}
答案 1 :(得分:0)
我假设您使用自己的布局创建自己的Activity。在这种情况下,您将无法访问PreferenceActivity提供的自动首选项加载和保存机制。
您必须手动取消所有内容:在onCreate()中,您应该为取消和保存按钮添加一个事件监听器:
Button saveButton = (Button)findViewById(R.id.saveButton);
saveButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
save();
}
});
在save()方法中,您必须从单选按钮请求选择状态,并将您的选择存储在共享首选项中:
private void save() {
String prefValue = (RadioButton)findViewById(R.id.firstButton).isChecked()?"First string":"Second string";
SharedPreferences pref = PreferencesManager.getDefaultSharedPreference(this);
pref.edit().putString("PrefName", prefValue).commit();
}
对于“脏位”,有两种解决方案:向单选按钮添加单击侦听器,如果单击其中任何一个,则说脏。或者您可以添加这些侦听器,并请求当前选择,并确定它是否与初始状态不同。
另一种方法是创建一个PreferencesActivity,使用preferences.xml,您可以在其中指定要为所选项存储的键和值。