3

我有一个特定的情况,我在首选项中使用 EditTextPreference 来允许用户输入单词/名称作为首选项。当应用程序打开文本输入框时,我需要它为小写字母,似乎默认为首字母大写。

<EditTextPreference
        android:title="Your Name"
        android:key="yname"
        android:capitalize="none" <-- DOES NOT WORK..
        android:summary="name:"
        android:defaultValue="george"
         >
    </EditTextPreference>

当这个应用程序使用偏好代码并且用户选择项目时,它会打开文本输入框,第一个字母上带有大写锁定......呃!哈哈 !

我可以在输入文本框中的第一个字母默认使用大写字母时简单地使用@Override 吗?

4

2 回答 2

2

似乎android:inputType="text"应该清除所有大写标志:

http://developer.android.com/reference/android/widget/TextView.html#attr_android:inputType

于 2012-10-07T17:06:00.720 回答
0

您可以在首选项类中使用以下内容。

  public class TaskPreferences extends PreferenceActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      addPreferencesFromResource(R.xml.task_preferences);

      EditTextPreference xx = (EditTextPreference) findPreference(getString(R.string.your_pref_key));;
      xx.getEditText().setKeyListener(TextKeyListener.getInstance(false, TextKeyListener.Capitalize.NONE));
    }
}
于 2012-10-07T17:02:29.823 回答