Android DialogPreference上的日期选择器和时间选择器
我有一个PreferenceFragment,它通过调用addPreferencesFromResource(R.xml.preferences\u main)加载首选项 在preferences_main.xml文件中,我有一个名为TimePreference的自定义首选项,它扩展了DialogPreference。TimePreference只包含一个时间选择器(也尝试了DatePicker)。显示时,时间选择器现在是另一种格式。它不是微调器,而是具有EditText视图和上/下箭头的版本。真正的问题是那些箭头是白色的,文本是白色的,所有这些都在一个白色的背景对话框上 如果我在一个活动上放置一个时间选择器,它就是主题微调器样式 我不明白为什么这只发生在DialogPreference上,而不发生在活动上。它好像失去了所有的造型 我的基本主题是theme.AppCompat.Light,我尝试了其他两个主题,结果都是一样的 编辑:我的版本是11,目标是19 有人有什么想法吗Android DialogPreference上的日期选择器和时间选择器,android,datepicker,android-preferences,android-theme,timepicker,Android,Datepicker,Android Preferences,Android Theme,Timepicker,我有一个PreferenceFragment,它通过调用addPreferencesFromResource(R.xml.preferences\u main)加载首选项 在preferences_main.xml文件中,我有一个名为TimePreference的自定义首选项,它扩展了DialogPreference。TimePreference只包含一个时间选择器(也尝试了DatePicker)。显示时,时间选择器现在是另一种格式。它不是微调器,而是具有EditText视图和上/下箭头的版本。
public class TestPreference extends DialogPreference {
Button btn;
TimePicker tp;
public TestPreference(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
@Override
protected View onCreateDialogView() {
tp = new TimePicker(getContext().getApplicationContext());
return tp;
}
}
您使用的应用程序上下文不包含有关为应用程序选择的主题/样式的任何信息 尝试按如下所示更改
时间选择器的初始化,看看它是否工作:
tp = new TimePicker(getContext());
此外,在创建TestPreference
的实例时,在其构造函数中传递活动的引用,例如:YourActivity。这在eclipse崩溃之前,我只是在尝试,它似乎正在工作。我将在几分钟后告诉您更多信息。另外,TestPreference是从preferences xml创建的,所以我如何将我的活动引用传递给它?啊,那么只需坚持我所说的初始化TimePicker.waqaslam,这就是解决方案。。。风格仍然不同于标准,这是因为values-14中的风格不同。我改变了风格,得到了预期的布局。通过删除.getApplicationContext()解决了字体和箭头为白色的问题。谢谢非常感谢你!你是救命恩人@waqaslam你能帮我吗