问题 将设备从单窗格纵向PreferenceScreen旋转到双窗格横向PreferenceScreen ,导致横向仅显示为单窗格。 查看标题屏幕时不会发生。 build立 这仅适用于ICS。 我有一个PreferenceActivity加载preference-headers 。 每个标题链接一个Fragment ,然后加载一个PreferenceScreen 。 密尔的奔跑。 细节 一切运作良好,直到我注意到Android将只能自动切换到某个屏幕的双窗格外观。 经过一番研究,我从Commonsware的post中了解到,Android只会为sw720dp做这个工作。 如果你问我这个问题,那么很多设备都没有足够的空间来放置两个窗格。 所以我重写了onIsMultiPane()方法返回true和w600dp。 工作就像一个魅力….还挺。 给定一个设备,它将在纵向上显示单个窗格,在横向上显示双个窗格。 在纵向查看标题和旋转到横向,工作正常。 但是,如果select标题并在纵向模式下加载后续屏幕,则旋转横向设备将保持单窗格,而不是切换回双窗格。 如果您然后返回到标题屏幕,它将返回到双窗格外观,除了它不会预先select标题。 结果是详细的窗格保持空白。 这是预期的行为? 无论如何解决它? 我试着重写onIsHidingHeaders() ,但是这只是导致一切显示一个空白的屏幕。 码 偏好活动: public class SettingsActivity extends PreferenceActivity { @Override public void onBuildHeaders(List<Header> target) { super.onBuildHeaders(target); loadHeadersFromResource(R.xml.preference, target); } @Override public boolean onIsMultiPane() { return getResources().getBoolean(R.bool.pref_prefer_dual_pane); } } 偏好标题片段: […]
我想要做的是我正在制作一个人生游戏计划。 我想把时间拖延,并把它作为一个偏好,但我想让人们可以在特定的时间input。 该数字可以是毫秒或秒。 然而,我有点卡住如何继续,我一直没有find一个简单的首选项,已经处理这个,但可能有一个。 有一个简单的方法来使这个偏好,并确认input的数据是一个整数或漂浮?
任何人都可以告诉我何时使用Checkbox和Switch ? 我的意思是,在PreferenceActivity的背景下,两者之间真正的login差异是什么? 例如,你会改变下一节Checkboxes ? 它是一个集合的一部分,但在这里使用Switch看起来更好。
在我的首选项活动中使用一个简单的EditTextPreference : <EditTextPreference android:key="SomeKey" android:title="@string/some_title" android:summary="…" android:numeric="integer" android:maxLength="2" /> 有没有办法将这个configuration值保存为整数? 现在看来,它只是允许input数字,但值仍然保存为string: 呼叫: SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); int value = preferences.getInt("SomeKey", -1); 抛出我java.lang.ClassCastException: java.lang.String ,和: SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); String value = preferences.getString("SomeKey", "-1"); 成功检索值。 如何使PreferenceActivity默认保存为整数值?
我想问一些帮助:在我的应用程序中,我只有一个活动, PreferenceActivity (不需要其他,它只是一个简单的后台同步应用程序,所以PrefsActivity是主/启动器)。 用户设置首选项后,检查checkBoxPreference ,并启动(或停止)服务。 开始时,会显示一个对话框。 但是这里是问题:如果用户按回(离开活动),再次启动,并试图检查checkBoxPref 。, prefsactivity崩溃。 对话框不显示。 我不知道为什么,以及如何解决这个问题。 这个代码和那个部分完全一样,是什么给了我这个问题: PrefsActivity.java: package is.it.works; // imports ….. public class PrefsActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener { SharedPreferences prefs; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.prefs); prefs = PreferenceManager.getDefaultSharedPreferences(this); prefs.registerOnSharedPreferenceChangeListener(this); }// onCreate @Override public void onSharedPreferenceChanged(SharedPreferences preferences, String key) { if (key.equals("checkTest")) { showDialog(1); } […]