1

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

这段代码不够优雅,但可以工作。

4

1 回答 1

0

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

于 2012-09-12T18:36:32.703 回答