Preferences

Android: программное создание окна настроек 2

В предыдущей статье я описал как можно программно создать окно с настроками. Сегодня разобрался как можно было создать поле ввода пароля проще, без использования методов трансформации текста. Для этоно надо использовать метод setInputType у объекта TextView:

  1. passPref.getEditText().setInputType(android.text.InputType.TYPE_CLASS_TEXT |
  2. android.text.InputType.TYPE_TEXT_VARIATION_PASSWORD);

Первая константа TYPE_CLASS_TEXT означает что поле будет использоваться для ввода текста, вторая TYPE_TEXT_VARIATION_PASSWORD - что текст будет паролем и его надо маскировать.
Поле ввода с типом TYPE_TEXT_VARIATION_PASSWORD по умолчанию не использует словари для посказок при вводе текста:

Android: программное создание окна настроек

Активити с настройками можно создать двумя способами: через файл XML из ресурсов, либо программынм способом. Опишу второй способ, т.к. именно с ним у меня возникла одна трудность - а именно добавление поля для ввода пароля, с поддержкой маскирования текста.

Первое - создаём активити с названием Preferences, базовым классом выбираем android.preference.PreferenceActivity:

  1. package net.galanov.android.preferencesdemo;
  2.  
  3. import android.os.Bundle;
  4. import android.preference.PreferenceActivity;
  5.  
  6. public class Preferences extends PreferenceActivity {
  7. @Override
  8. protected void onCreate(Bundle savedInstanceState) {
  9. super.onCreate(savedInstanceState);
  10. setPreferenceScreen(createPreferenceHierarchy());
  11. }
  12. }