0
我希望用户能够在300和2000之间输入/选择一个数字。我希望使用EditTextPreference,但后来我不知道如何检查如果该值实际上在范围内。我对偏好屏很陌生。让用户从首选屏幕中的一系列数字中进行选择
我Preferences.java
public class Preferences extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.simple);
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
SettingsFragment settingsFragment = new SettingsFragment();
fragmentTransaction.add(android.R.id.content, settingsFragment, "SETTINGS_FRAGMENT");
fragmentTransaction.commit();
}
public static class SettingsFragment extends PreferenceFragment{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.pref_layout);
}
}
}
而且pref_layout.xml(它将只包含一个偏好)
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:title="General">
<EditTextPreference
android:title="frequency"
android:summary="frequency"
android:key="interval"
android:defaultValue="300"
android:numeric="integer"/>
</PreferenceCategory>
</PreferenceScreen>
THANK YOU
对不起格式不好。我自己格式化了它。 –
谢谢,但我不明白在哪里放置这段代码,我不知道attrubuteSet是什么。我只是复制了你的类并替换了我的_SettingsFragment_类。我想我也应该对_Preferences_类进行一些修改? – drogaleggera
@drogaleggera在实现这个类之后你必须做的唯一事情是。您必须在xml中的“EditTextPrefernce”位置使用新类。我也通过详细的解释修改了我的答案。对于任何查询,请随时询问。 –