EditText vs TextView

21

Я прочитал API и вижу, что TextView - суперкласс для EditText , но у меня есть короткий и простой вопрос: Вообще говоря, EditText используется, когда отображаемый текст может быть изменен, независимо от того, от пользователя или приложения. TextView используется, когда отображаемый текст должен быть постоянным / неизменным навсегда. Правильно ли это?

    
задан user2927724 08.05.2014 в 04:14
источник
  • Да, это правильно. Часто вы даже оставите EditText пустым только с подсказкой, и пусть пользователь заполнит весь текст. –  Dyrborg 08.05.2014 в 04:20
  • Я использую TextView, когда текст может быть изменен. EditView, если вы ожидаете ввода пользователем. Интересно, что все это представление, поэтому иногда я использую TextView с событием onClick в качестве кнопки, когда это необходимо (маленькие кнопки, которые должны выглядеть согласованно по всем версиям, имитируя кнопку комбо или переключаться). Я просто применяю тот же градиент, который я использую на своих кнопках, и они выглядят одинаково. –  Gravitoid 08.05.2014 в 15:39

6 ответов

8

Если вы уже делали какие-либо проекты java, я вижу, что Textview и EditText такие же, как JLabel и JtextField . Если вы хотите попросить пользователя ввести имя пользователя, вы установите TextView с текстом «имя пользователя», например, вы сделаете то же самое для JLabel). И затем вы создадите текстовое поле, чтобы пользователь мог ввести имя пользователя в текстовое поле EditText . EditText - это то, где пользователь дает свои входы для программы.

Пользователь не может что-то изменить в TextView, но программа может (после ввода пользователем правильного имени пользователя вы можете установить текст для другого TextView программой, указав, что «Подробности правильные», если вы хотите, чтобы вы его записывали в свой программный код. не может появиться). Пользователь может вводить любое имя пользователя, но текстовое поле «имя пользователя» или TextView останется неизменным как «имя пользователя», как в обычном интерфейсе входа.     

ответ дан SMK 10.05.2014 в 06:54
9

EditText используется для ввода пользователем.

TextView используется для отображения текста и не редактируется пользователем. TextView может быть обновлен программно в любое время.

    
ответ дан Garret 08.05.2014 в 04:25
2

Имена их довольно понятны. TextView - это виджет, используемый, когда вы хотите, чтобы пользователь просматривал текст (например, метку и т. Д.) И EditText, когда вы хотите, чтобы пользователь мог редактировать текст. Текст в любом виджете может быть установлен программно или через xml, используя параметр android:text .

документация в значительной степени подводит итог:

EditText is a thin veneer over TextView that configures itself to be editable.     

ответ дан ajacian81 08.05.2014 в 06:53
1

EditText используется, когда вы ожидаете ввода от пользователя. EditText обеспечивает поведение для ввода пользователем (клавиатура дисплея, паста, индикатор положения и т. Д.).

Если ваше приложение изменяет отображаемый контент, вы можете просто сбросить текст для TextView. Пользователь, однако, не может возиться с ним.

    
ответ дан Eduardo Bonet 08.05.2014 в 04:21
0

TextView аналогичен тегу Label HTML, с другой стороны, Edittext - это тип ввода.

Простое сообщение TextView не может меняться пользователем. Пользователь вводит только значение.

    
ответ дан Ssingh 24.03.2015 в 20:54
  • , это плохое сравнение - ярлык HTML намного больше - он всегда принадлежит элементу формы (если вы нажмете на метку, связанный элемент сфокусирован) ... –  Alexander 24.03.2015 в 21:12
0

EditText - тип ввода / ввод для ввода текста

TextView - TextField для отображения текста

    
ответ дан Giorgi Tsiklauri 29.05.2015 в 10:52
  • Неправильно, из TextView Documentation: отображает текст пользователю и, необязательно, позволяет редактировать его. [Ссылка] developer.android.com/reference/android/widget/TextView.html –  silva96 26.08.2015 в 20:30