Получить текст из Android-пароля TextView

89
6

Я надеюсь, что этого еще не задали, так как я не мог его найти. Я пытаюсь получить имя пользователя и пароль для онлайн-сервиса. Я создал имя пользователя TextView и пароль TextView. Я могу получить текст из имени пользователя TextView без проблем. Тем не менее, я ничего не могу получить от пароля TextView. Ниже приведен XML:


<TextView
android:id="@+id/user_password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="8dp"
android:text="@string/passcodeQuery"
android:textAppearance="?android:attr/textAppearanceLarge" />

<EditText
android:id="@+id/editText2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="8dp"
android:hint="@string/passwordHint"
android:inputType="textPassword" />


Проблема в том, что если я запустил код


TextView passField = (TextView)findViewById(R.id.user_password);

то


String toastMessage = "Password: " + passField.getText().toString();

Независимо от того, что я ввел в поле пароля, сообщение тоста дает мне


Password: Password

Я, очевидно, не буду поджаривать пароль пользователей нормально, я просто делаю это сейчас, потому что хочу убедиться, что правильно читаю входные данные. К сожалению, это, похоже, не так, поскольку я не могу прочитать поле пароля. Как вы обходите это? Тон приложений, похоже, способен это сделать. Есть ли более простой способ получить пароль, чем то, что я делаю?

спросил(а) 2020-04-04T00:17:20+03:00 5 месяцев, 4 недели назад
1
Решение
79

Если вы хотите Toast как "PassWord: ВАШЕ ИЗОБРАЖЕНИЕ EDITTEXT", то используйте это.


EditText passField = (EditText)findViewById(R.id.editText2); 

а затем используйте:

String toastMessage = "Password: " + passField.getText().toString();

Теперь напишите сообщение.


Enjoy.:)

ответил(а) 2020-04-04T00:38:47.904590+03:00 5 месяцев, 4 недели назад
41

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


EditText password = (EditText)findViewById(R.id.editText2);

Сохраните его в String как


String pwd = password.getText().toString();

И тост за собственную проверку

ответил(а) 2020-04-04T00:17:20+03:00 5 месяцев, 4 недели назад
41

Вы можете получить значение из EditText не из TextView. Вы можете установить не получать.


      EditText passField = (EditText )findViewById(R.id.editText2);

String toastMessage = "Password: " + passField.getText().toString().trim();

ответил(а) 2020-04-04T00:17:20+03:00 5 месяцев, 4 недели назад
41

Вы должны получить текст из EditText, а не из TextView


EditText passField = (EditText )findViewById(R.id.editText2);    
String toastMessage = "Password: " + passField.getText().toString();

ответил(а) 2020-04-04T00:17:20+03:00 5 месяцев, 4 недели назад
42

Как насчет


EditText passField = (EditText)findViewById(R.id.editText2);

вместо "user_password"?

ответил(а) 2020-04-04T00:17:20+03:00 5 месяцев, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема