![android移动应用开发任务驱动教程:android 9.0+android studio 3.2](https://wfqqreader-1252317822.image.myqcloud.com/cover/196/27741196/b_27741196.jpg)
2.7 TextView控件与EditText控件
1.功能说明
TextView控件是文本表示控件,主要功能是向用户展示文本的内容,它是不可编辑的。EditText控件是编辑文本控件,主要功能是用于用户输入文本内容,它是具有编辑功能的TextView。EditView类是TextView类的子类,EditView与TextView最大的不同就是用户可以对EditView控件进行编辑,同时还可以为EditView控件设置监听器,用来判断用户的输入是否合法。每个控件都有着与之相应的属性,通过选择不同的属性,为其赋值,能够实现不同的效果。
在程序设计和编写过程中,可以采用两种方式使用TextView和EditText控件。
方式一,通过在程序中创建控件的对象来使用控件。例如TextView控件,可以通过编写如下代码完成控件使用:
TextView tv=new TextView(this); tv.setText(“用户名"); setContentView(tv);
方式二,通过在res\layout文件夹下的XML文件中布局使用控件。例如TextView控件,可以编写如下代码达到使用目的:
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="用户名"/>
相比而言,采用方式二更好,一是方便代码的维护,二是编码比较灵活,三是利于分工协作。
2.基本属性
TextView控件的基本属性如表2-2所示,这些属性大部分可用于TextView,也可适用于EditText和Button,仅有少部分属性只适用于其中之一。
表2-2 TextView控件的基本属性
![](https://epubservercos.yuewen.com/9D7470/15937387704511506/epubprivate/OEBPS/Images/figure_0071_0001.jpg?sign=1738870284-j5Qhc6s7tOM4HydQ4CrceVjv2XtmKzem-0-e83064d9ab7f3aa89e8b8164a4de0e64)
续表
![](https://epubservercos.yuewen.com/9D7470/15937387704511506/epubprivate/OEBPS/Images/figure_0072_0001.jpg?sign=1738870284-yRDQUEWiFDFG9IjrWzY9cPHAL9WCHVqo-0-f3668fdfdcaa2258a3a0d15f5013e722)
续表
![](https://epubservercos.yuewen.com/9D7470/15937387704511506/epubprivate/OEBPS/Images/figure_0073_0001.jpg?sign=1738870284-0lpE80iLiLJ5xS8Kumc3SYKgWW1O4yvT-0-0e439e93ca0d60003e98a84ed036b244)
EditText的基本属性如表2-3所示。
表2-3 EditText的基本属性
![](https://epubservercos.yuewen.com/9D7470/15937387704511506/epubprivate/OEBPS/Images/figure_0073_0002.jpg?sign=1738870284-8xfrrmvOcq8a48lldnCvA5qSGpEjpqCr-0-adafa4a67803d896669f2eed3e092324)
3.重要方法
通过调用控件的方法可以动态修改TextView控件与EditText控件的属性。
● public CharSequence getText()
方法getText()用于获取文本控件的文本内容,返回值为控件当前显示的字符串,通过方法toString()将其转化为熟悉的String类型。
示例代码如下:
TextView tv=(TextView)findViewById(R.id.text); String strText=tv.getText().toString();
● public final void setText(int resid)
该方法用于设置TextView的显示内容为某个字符串资源。
示例代码如下:
TextView tv=(TextView)findViewById(R.id.text); tv.setText(R.string.username);
使用findViewById方法通过控件的id获得控件的对象,R.id.text是TextView控件的id, tv是该TextView控件对象,R.string.username是某个字符串资源的id。
● public final void setText(CharSequence text)
该方法用于设置TextView的显示内容为参数给定的字符串。
示例代码如下:
TextView tv=(TextView)findViewById(R.id.text); tv.setText("用户名");
4.示例代码
<TextView android:id="@+id/tvname" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="用户名" android:textSize="10pt" /> <EditText android:id="@+id/editname" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入用户名" android:selectAllOnFocus="true" />