Articles of 偏好

如何从ListPreference中选择选项?

我有ListPreference,它包含例如5个选项,我想在用户选择它时将其中一个值保存到SharedPreferences。 我该怎么做? 顺便说一句。 我知道如何为SharedPreferences节省价值,但我不知道当用户选择其中一个时如何获得该值。

首选项铃声默认值

我在偏好.xml中有这个 每当我第一次开始全新安装应用程序时,默认值为silent :(当我点击铃声首选项时,对话框打开时默认选择静音。我希望默认选择“默认铃声”。我怎样才能做到这一点 如何将默认值设置为“默认铃声”而不是静音,我不知道为什么这个默认为我的默认我没有设置在我的代码中的任何地方,默认是来自android系统的默认值…

checkboxpreference中的多重依赖关系android或listpreference的依赖关系

例如:我的首选项屏幕中有三个checkbox,每个checkbox有3个不同的listpreference(A,B,C)首选项listpreference(A,B,C) 。 我想让用户一次只选择一个checkbox。 我如何实现这一目标? 首选项屏幕中没有单选按钮 我不能使用Listpreference,如果我可以使用它 ListPreference android:key=”livewallpaper_testpattern” android:title=”@string/livewallpaper_settings_title” android:summary=”@string/livewallpaper_settings_summary” android:entries=”@array/livewallpaper_testpattern_names” android:entryValues=”@array/livewallpaper_testpattern_prefix” 这个Listprefrence的数组是“蓝色”,“红色”,“白色” 如果是蓝色ListPreference A取决于蓝色 如果它是红色ListPreference B取决于红色 如果是白色ListPreference C取决于白色 我怎样才能做到这一点? 我在谷歌搜索了3-4页,这里几乎所有关于这些,但我找不到任何答案。 最好的祝福, 提前致谢..

更改PreferenceCategory android:title

我想知道是否有办法改变 PreferenceCategory android:title=”my name” 以编程方式和/或 ListPreference android:title=”my name” 编程。

如何在运行时获取铃声首选项?

我有以下xml: 我希望每次通知即将显示时,要查看铃声的值并相应地发出蜂鸣声:)…更确切地说,我的通知是在broadcastReceiver类中生成的,每次接收器捕获的内容都会创建一个新通知…我只是希望通知的铃声根据首选项中设置的铃声进行更改。 我怎样才能做到这一点? 谢谢 麦克风

Android首选项标题/摘要文字样式

我有几个自定义首选项 – 一个显示当前所选颜色的样本,另一个显示缩略图。 我有一个匹配的自定义布局非常好,并发现我可以使用android:textAppearance =“?android:attr / textAppearanceLarge”作为TextView的xml的一部分使文本外观匹配。 问题是,虽然这些通常看起来很好,但它们必须不是“官方”偏好使用的外观,因为某些设备上的颜色最终会出错。 特别是我将我的应用程序移植到Nook Color,它在首选项屏幕上使用浅灰色背景和黑色文本颜色,而不是黑色背景/浅灰色文本。 在这种情况下我的文字颜色保持不变,但我的布局的其余部分是相应的主题。 我真的不确定我应该做什么来让我的文字与’官方’主题相匹配。 我应该使用obtainStyledAttributes并运行我的布局来设置东西吗? 到目前为止我看到的使用它的教程真是令人费解,似乎必须有一个textAppearance或样式我可以在XML中设置来解决这个问题。

Android SeekBarPreference

我目前正在尝试使用RelativeLayout的http://android-journey.blogspot.com/2010/01/for-almost-any-application-we-need-to.html教程来实现SeekBarPreference类。 第一个问题是TextView preferenceText根本没有显示。 第二个问题是酒吧不能像普通偏好那样滑动(比如媒体音量栏)? public class SeekBarPreference extends Preference implements OnSeekBarChangeListener { public static int maximum = 100; public static int interval = 5; private float oldValue = 25; private TextView Indicator; public SeekBarPreference(Context context) { super(context); } public SeekBarPreference(Context context, AttributeSet attrs) { super(context, attrs); } public SeekBarPreference(Context context, AttributeSet attrs, int defStyle) { […]

如何从PreferenceFragment显示对话框?

当我在PreferenceFragment中点击一个Preference时,我正试图调出一个DialogFragment。 不幸的是,当我在DialogFragment.show()中调用getFragmentManager()时 ,我收到以下错误: 无法解析方法’show(android.app.FragmentManager,java.lang.String)’ 问题是我似乎无法从这个片段中引用android.support.v4.app.FragmentManager 。 负责这个片段的活动从FragmentActivity延伸,但显然这还不够。 我也试过调用getSupportFragmentManager() ,但这给了我这个错误: 无法解析方法’getSupportFragmentManager()’ 我怎样才能做到这一点? 这是一些代码: gPrefAcknowledgements.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { DialogAcknowledgements dialogAck = new DialogAcknowledgements(); dialogAck.show(getFragmentManager(), “acknowledgements”); return true; } });

关闭PreferenceFragment

我又找了几个小时,没find我理解/正在寻找的答案。 我有一个首选项屏幕,当用户点击菜单中的设置时会打开该屏幕。 这很有效。 但是,当他完成设置时,我如何才能最好地使用户关闭此屏幕。 我喜欢在Chrome中完成的方式,您可以在其中返回上一个屏幕。 其他可能性也受到赞赏。 活动,属于偏好(它应该返回): public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void startGame(View view) { Intent intent = new Intent(this, Game.class); startActivity(intent); } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.layout.game_settings, menu); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) […]

如果尚未设置文件名,请阅读SharedPreferences

在Android上创建PreferenceScreen时,您的应用程序会为设置创建默认的SharedPreferences文件。 我想读这个名字,或者在没有指定名字的情况下获得参考。 目前我使用: SharedPreferences prefs = ctx.getSharedPreferences(“prefs”, 0); SharedPreferences.Editor ed=prefs.edit(); 但是这会返回首选项的另一个副本。 当我检查/ data / data / myapk / shared_prefs中的文件夹时 我看到两个文件,一个名为prefs.xml,另一个是我的[包名] _preferences.xml(这是由PreferenceActivity创建的); 如何使用默认文件名获取共享首选项的实例,所以我不应该提及它的名称?