Как исправить TextInputLayout passwordToggle? - PullRequest
1 голос
/ 04 октября 2019

Я создал простую страницу входа с проверками, но у меня возникла проблема в разделе паролей, когда я хочу использовать passwordToggleEnabled приложение вылетает и не открывает, почему, поскольку у меня 0 ошибок. 1003 *

Мой проект в API 26.

Я добавил в сборку сборки внутри зависимостей:

    implementation 'com.android.support:design:28.0.0'
    implementation 'com.android.support:appcompat-v7:28.0.0'

А внутри XML-файла это мой код ввода пароля:

<com.google.android.material.textfield.TextInputLayout
            android:id="@+id/test2"
            android:layout_below="@id/usernameEditText"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            app:errorEnabled="true"
            app:passwordToggleEnabled="true">

            <com.google.android.material.textfield.TextInputEditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Your Password"
                android:inputType="textPassword" />
        </com.google.android.material.textfield.TextInputLayout>

и в MainActivity.java вот как я называю идентификатор pwd:

String passwordInput = test2.getText().toString().trim();

Так вот, как я реализую свой код, и приложение продолжает останавливаться, так что яне так?

Спасибо!

Ответы [ 3 ]

1 голос
/ 04 октября 2019

Вы должны сначала найти представление, назначив ему идентификатор, подобный этому

  <com.google.android.material.textfield.TextInputEditText
                    android:id="@+id/etPassword"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="Your Password"
                    android:inputType="textPassword" />

, а затем найти его в своей деятельности, как это

 TextInputEditText etPassword= findViewById(R.id.etPassword);

, затем вы можете получить введенныйтекст как

String passwordInput = etPassword.getText().toString().trim();
1 голос
/ 04 октября 2019

Используйте метод getEditText, чтобы получить EditText, используемый для ввода текста:

TextInputLayout test2= findViewById(R.id.test2);
String passwordInput = test2.getEditText().getText().toString().trim();
0 голосов
/ 04 октября 2019

Присвоение идентификатора TextInputEditText

  <com.google.android.material.textfield.TextInputEditText
                    android:id="@+id/etPassword"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="Your Password"
                    android:inputType="textPassword" />

, а затем найдите его в своей деятельности следующим образом

EditText etPassword= findViewById(R.id.etPassword);

, затем вы можете получить введенный текст, например

String mPassword = etPassword.getText().toString().trim();
...