Android代码 - 以任何方式将文本输入框覆盖为小写?

时间:2012-10-07 16:49:19

标签: android

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

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

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

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分: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));
    }
}