这必须经常出现.
当用户在Android应用中编辑首选项时,我希望他们能够在Preference摘要中查看首选项的当前设置值.
示例:如果我有"丢弃旧邮件"的"首选项"设置,该设置指定需要清除邮件的天数.在PreferenceActivity我想让用户看到:
"丢弃旧邮件" < - 标题
" x天后清理消息" < - summary其中x是当前的Preference值
额外的功劳:使这个可重用,所以我可以轻松地将它应用到我的所有首选项,无论其类型如何(这样它可以使用EditTextPreference,ListPreference等,只需最少的编码).
我想检测点击中Preference包含的内容ListView,以便我可以启动管理该选择的意图.
我会在我的布局XML文件中这样做:
<Preference android:title="About" android:key="myKey"></Preference>
Run Code Online (Sandbox Code Playgroud)
以下java代码在我的代码中:
Preference myPref = (Preference) findPreference("myKey");
myPref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference) {
//open browser or intent here
}
});
Run Code Online (Sandbox Code Playgroud)
但该方法public Preference findPreference (CharSequence key)已被弃用.
Fragments帮助我以更好的方式完成我的任务?在这里嘲笑:没有弃用方法的偏好.在这里,您可以检查XML我的活动所具有的布局结构,以及应用程序的快照:
XML:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<Preference
android:key="about"
android:title="@string/titleAbout"
android:summary="@string/summaryAbout"
/>
<Preference
android:key="labelTaxonomy"
android:title="@string/titleLabelTaxonomy"
android:summary="@string/summaryLabelTaxonomy"
/>
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)
快照:

点击关于(或访问标签分类)后Preference,我想打开intent某种类型(也可能是视频或其他任何东西......这些名称具有误导性).
java android deprecated android-preferences android-fragments
我有一个问题,例如在单击时选择和取消选择单个单选按钮,setOnCheckChangeListner()仅在下面第一次起作用,这是我尝试过的代码。
radioButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked) radioButton.setChecked(false);
else radioButton.setChecked(true);
}
});
Run Code Online (Sandbox Code Playgroud)