我想自定义 EditTextPreference 。我的目标是格式化标题文本。这是我的 prefs.xml
的相关部分<com.widgets.FormattedEditTextPreference
android:dialogTitle="android password"
android:summary="password to this app"
android:inputType="textPassword"
android:key="sLoginPassw"
android:title="android password" />
这是背后的代码:
public class FormattedEditTextPreference extends EditTextPreference {
public FormattedEditTextPreference( Context context, AttributeSet attrs, int defStyle ) {
super( context, attrs, defStyle );
setDialogTitle( context.getResources().getString( R.string.app_name )+attrs.getAttributeValue( 0 ) );
}
public FormattedEditTextPreference( Context context, AttributeSet attrs ) {
super( context, attrs );
setDialogTitle( context.getResources().getString( R.string.app_name )+attrs.getAttributeValue( 0 ) );
}
public FormattedEditTextPreference( Context context ) {
super( context );
setDialogTitle( context.getResources().getString( R.string.app_name ) );
}
}
此代码不够优雅但有效。
答案 0 :(得分:0)
Donot覆盖setDialogTitle,在每个构造函数中调用setDialogTitle(“”)。它由应用程序使用,但不由Preference组件使用。