EditText与TextView

我阅读了API并看到TextViewEditText的超类,但我有一个简短而简单的问题:一般来说,当显示的文本可能会发生变化时使用EditText ,无论是来自用户还是应用程序。 当显示的文本永远/同一时,使用TextView 。 它是否正确?

Solutions Collecting From Web of "EditText与TextView"

如果你以前做过任何java项目,我看到TextviewEditTextJLabelJtextField相同。 如果您想要求用户输入用户名,您将设置一个带有(“用户名”文本的TextView,就像您对JLabel一样)。 然后,您会显示一个文本框,供用户输入文本框为EditText的用户名。 EditText是用户为程序提供输入的地方。

用户无法在TextView中更改某些内容但程序可以(在用户输入正确的用户名后,您可以通过程序设置另一个TextView的文本,如果您希望必须在程序代码中将其写入“详细信息正确”。用户不能让它出现)。 用户可以输入任何用户名,但“用户名”文本字段或TextView将保持不变为“用户名”,就像在普通登录界面中一样。

EditText用于用户输入。

TextView用于显示文本,用户无法编辑。 TextView可以随时以编程方式更新。

它们的名字非常自我解释。 TextView是当您希望用户查看文本(例如标签等)时使用的窗口小部件,以及当您希望用户能够编辑文本时使用的EditText。 可以使用android:text参数以编程方式或通过xml设置任一窗口小部件中的android:text

文档总结了很多:

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

当您期望来自用户的输入时,将使用EditText。 EditText提供用户输入的行为(显示键盘,粘贴,位置指示器等)。

如果您的应用正在更改要显示的内容,则只需重置TextView的文本即可。 然而,用户不能搞砸它。

另一方面,TextView就像HTML的Label标签一样,Edittext是输入types。

简单告诉TextView是用户无法改变的。 用户只输入值。

EditText是用于输入文本的输入types/字段

TextView是用于显示文本的TextField