自定义EditTextPreference

时间:2012-09-12 18:31:13

标签: java android sharedpreferences

我想自定义 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 ) );
}
}

此代码不够优雅但有效。

1 个答案:

答案 0 :(得分:0)

Donot覆盖setDialogTitle,在每个构造函数中调用setDialogTitle(“”)。它由应用程序使用,但不由Preference组件使用。