9

EditTextPreference http://developer.android.com/reference/android/preference/EditTextPreference.htmlのドキュメントを確認しました

しかし、そこに android:inputType 属性が見つかりませんでした。次に、このコードセグメントでどのように使用できるか

<EditTextPreference
        android:key="edit"
        android:title="@string/location1"
        android:summary="@string/summary1"
        android:dialogTitle="@string/location1"
        android:dialogMessage="@string/message"
        android:inputType="text"
        android:singleLine="true"
        />

android:singleLine 属性についても同じ疑問があります。

4

5 に答える 5

3

ドキュメントにはそのクラスの属性がリストされていませんが、InputType属性 (およびその他のEditText属性TextView) は引き続き機能します。本文に記載されているだけです。この関連する質問も参照してください。

EditTextPreferenceドキュメントには、サポートされているすべての属性が明示的にリストされているわけではありませんが、テキストには次のように記載されています。

EditText 属性を参照してください。

そこのリンクはあまり役に立ちません (おそらくいくつかの属性を再編成しましたが、いくつかのリンクを更新したことはありません) が、ここにinputType 値への直接リンクがあります。簡単な要約として、これらの値は(投稿時点で)次のとおりです。

  • なし
  • 文章
  • textCapCharacters
  • textCapWords
  • textCapSentences
  • テキストオートコレクト
  • テキストオートコンプリート
  • テキスト複数行
  • textImMultiLine
  • textNoSuggestions
  • textUri
  • テキストメールアドレス
  • textEmail件名
  • textShortMessage
  • textLongMessage
  • textPersonName
  • textPostalAddress
  • テキストパスワード
  • textVisiblePassword
  • textWebEditText
  • テキストフィルター
  • テキストふりがな
  • textWebEmailAddress
  • textWebPassword
  • 番号
  • 番号署名済み
  • numberDecimal
  • 番号パスワード
  • 電話
  • 日付時刻
  • 日にち
  • 時間

明らかに、これらの 1 つ以上を a で区切って使用できます|(私はこれを行ったことはありません)。

于 2015-07-10T21:40:08.770 に答える
1

XML からはできませんが、EditTextpreferenceは EditTextを公開しているため、プログラムで実行できます。アクティビティ/フラグメントに設定を読み込んだ後、次のことができます。

EditTextPreference pref = (EditTextPreference) PreferenceManager.findPreference("edit");
EditText prefEditText = pref.getEditText();
prefEditText.setInputType(InputType.TYPE_CLASS_TEXT);
prefEditText.setSingleLine(true);
// etc
于 2015-07-10T21:30:36.440 に答える