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 に答える