我已经创建了一个自定义的EditTextPreference来在首选项中显示和内联EditText。
当我像这样将它添加到XML资源文件中时:
<app.FormEntryPreference
android:key="pref_key"
android:title="@string/pref_string"/>
我得到这个结果:
它有我想要的风格(android:theme.holo)。
当我按程序添加偏好时:
FormEntryPreference form0 = new FormEntryPreference(getActivity().getApplicationContext(), null);
我得到了不同的结果:
样式将应用于用于EditText的布局资源:
<EditText
style="@style/Style.that.inherits.from.holo"
android:inputType="text"
android:id="@+id/form_id"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</EditText>
我想在这两种情况下都得到同样的形状。
最佳答案
好吧,所以一个同事解决了这个问题,而不是FormEntryPreference form0 = new FormEntryPreference(getActivity().getApplicationContext(), null);
我只需要删除“getapplicationcontext()”,它的作用就像这样:
FormEntryPreference form0 = new FormEntryPreference(getActivity(), null);