Articles of android preferences

如何使用膨胀布局访问自定义DialogPreference中的小部件?

我是Android的新手,我试图从我的自定义DialogPreference加载/持久化值。 目前,这会失败,因为findViewById返回null。 我(尝试)这样做的方式是否正确? 如何在代码中访问我的EditText小部件? public class AddressDialogPreference extends DialogPreference { public AddressDialogPreference(Context context, AttributeSet attrs) { super(context, attrs); setDialogLayoutResource(R.layout.address_dialog); } @Override protected void onBindDialogView(View view) { EditText idField = (EditText) view.findViewById(R.id.hostID); EditText ipField = (EditText) view.findViewById(R.id.hostIP); SharedPreferences pref = getSharedPreferences(); idField.setText(pref.getString(getKey() + “_id”,”ExampleHostname”)); ipField.setText(pref.getString(getKey() + “_ip”,”192.168.1.1″)); super.onBindDialogView(view); } @Override protected void onDialogClosed(boolean positiveResult) { if(!positiveResult) […]

首选项和操作栏中的开/关切换按钮 – 冰淇淋三明治样式

我指的是蓝色ON / OFF样式,如ICS手机上的默认Android设置应用程序所示。 它也可以在这里看到: http : //android-developers.blogspot.com/2012/02/android-design-v2-now-with-stencils.html我想将它们放在Preference屏幕中,我是否必须使用自定义首选项小部件? 此外,在操作栏中放置切换按钮是否容易? 这似乎是可能的,因为它是在ICS的默认Android设置中完成Wifi设置,但它可能是一个自定义菜单项? 任何帮助是极大的赞赏。

使用AppCompat v21将色调应用于PreferenceActivity窗口小部件

我在PreferenceActivity中使用CheckboxPreference,在v21支持库中使用AppCompat主题。 正如您所知,使用此最新的库小部件(如checkbox,editTexts,单选按钮等)将使用主题中定义的辅助颜色进行着色。 在首选项屏幕中,文本的颜色正确由我的主题指定,但checkbox和edittext不是。 似乎当CheckboxPreference实例创建窗口小部件时,它不会将我的主题应用于它。 正常布局中的单选按钮,有色: 截图1 http://img.androidcookie.com/android/2qv9stj.png 来自CheckboxPreference的checkbox,没有着色: 截图2 http://img.androidcookie.com/android/91bcly.png 我用作父主题Theme.AppCompat.Light.NoActionBar 。 这种情况发生在Preference的每个子类中都有一个小部件,比如说EditTextPreference,其中EditText有一条黑色的底线而不是一条有色的线。 如何将色调应用于Preference子类显示的小部件? 更新 :因为PreferenceActivity扩展了框架Activity,所以不应用着色。 在工作案例中,我使用了支持库中的ActionBarActivity。 现在的问题是:怎么来的?

工具栏隐藏在嵌套的PreferenceScreen中

我在support-v7库的ActionBarActivity使用PreferenceFragment 。 在活动中我有Toolbar 。 一切顺利,直到我打开一个嵌套的PreferenceScreen 。 在打开的屏幕中,隐藏Toolbar 。 也许有人知道这个问题的解决方法? 首选项xml文件: 活动布局:

从preferences.xml启动Activity并在onActivityResult中获取结果

它是这个问题的补充。 我可以启动Activity,但我也需要能够得到结果。 我该怎么做? 我尝试在我的PreferencesActivity上覆盖onActivityResult无济于事。 我在偏好.xml中缺少一些额外的属性吗?

Android首选项片段文本颜色

我想更改android偏好片段中的文本颜色。 我目前正在使用自定义主题来更改checkbox图像,背景,onClick突出显示,这一切都很有效…除了文本颜色。 我不想使用默认主题,我想拥有自己的主题,所以它看起来我想要的只是改变文字颜色,有人可以帮助。 styles.xml 18sp 20sp @drawable/lists_background @style/listViewPrefs @style/MyCheckbox @color/black @layout/list_selector_master @style/MyTextAppearance @drawable/btn_check 表现: 活动: import android.app.Activity; import android.os.Bundle; import android.preference.PreferenceFragment; public class SettingsActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Display the fragment as the main content. getFragmentManager().beginTransaction() .replace(android.R.id.content, new SettingsFragment()) .commit(); } public static class SettingsFragment extends PreferenceFragment { […]

如何在Android中模拟PreferenceManager?

我编写了一个使用Context ,第三方库和PreferenceManager SharedPreferences 。 可以模拟Context ,第三方库可以使用一些模拟框架进行模拟,但是如何处理PreferenceManager ? 我有两种方法: public void saveString(ThirdPartyObject obj) { SharedPreferences appPreferences = PreferenceManager.getDefaultSharedPreferences(mContext); SharedPreferences.Editor editor = appPreferences.edit(); editor.putString(mContext.getString( R.string.preferences_string_name), obj.getString()); editor.commit(); } 和相应的,加载首选项。

从首选项XML文件启动位置设置意图

我想从Intent启动System的位置设置。 我以编程方式知道它是这样的 Intent viewIntent = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS); startActivity(viewIntent); 但我需要从Preference的XML中做到这一点。 我试试这个 但它不起作用,我总是得到一个ActivityNotFoundException 。 如何从XML Intent启动系统位置设置?

首选项屏幕显示文本块

我正在尝试创建一个只有关于,联系和合法选项的首选项屏幕,所有这些选项在单击时只显示单独页面中的文本模糊和图标,没有shared preferences或任何内容。 我无法理解层次结构以显示文本。 我希望流程为: settings -> about -> the about text 目前我有这个,它给了我类别和选项,但我不知道该怎么做才能显示新文本。 … 我不知道使用什么选项来使可点击进入textview。

自定义首选项,targetSdkVersion =“11”:缺少缩进?

我有几个自定义的DialogPreference实现,例如这个 : package apt.tutorial; import android.content.Context; import android.content.res.TypedArray; import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; import android.preference.DialogPreference; import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup; import android.view.ViewParent; import android.widget.TimePicker; public class TimePreference extends DialogPreference { private int lastHour=0; private int lastMinute=0; private TimePicker picker=null; public static int getHour(String time) { String[] pieces=time.split(“:”); return(Integer.parseInt(pieces[0])); } public static int getMinute(String […]