本篇博文最后修改时间:2016年6月8日,17:08。
一、简介
本篇介绍常见控件——EditText的使用方法。
二、实验平台
系统版本:Windows7 家庭普通版 32位操作系统。
三、版权声明
博主:思跡
声明:喝水不忘挖井人,转载请注明出处。
原文地址:http://blog.csdn.net/omoiato
联系方式:315878825@qq.com
Java零基础入门交流群:541462902
四、EditText的使用方法
1、EditText的定义:
EditText 是程序用于和用户进行交互的另一个重要控件,
它允许用户在控件里输入和编辑内容,并可以在程序中对这些内容进行处理。
2、EditText的应用:
EditText 的应用场景应该算是非常普遍了,
发短信、发微博、聊QQ 等等,在进行这些操作时,你不得不使用到EditText。
3、在界面上加入EditText的方法:
修改activity_main.xml 中的代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
……
<EditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
Android 控件基本上用法都很相似,给控件定义一个id,再指定下控件的宽度和高度,
然后再适当加入些控件特有的属性就差不多了。
所以使用XML 来编写界面其实一点都不难,完全可以不用借助任何可视化工具来实现。
现在重新运行一下程序,EditText 就已经在界面上显示出来了,
并且我们是可以在里面输入内容的。
4、在输入框显示提示性文字的方法:
一些做得比较人性化的软件会在输入框里显示一些提示性的文字,
然后一旦用户输入了任何内容,这些提示性的文字就会消失。
这种提示功能在Android 里是非常容易实现的,
我们甚至不需要做任何的逻辑控制,因为系统已经帮我们都处理好了。
修改activity_main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
……
<EditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Type something here"
/>
</LinearLayout>
这里使用android:hint 属性来指定了一段提示性的文本,然后重新运行程序。
EditText 中就会显示一段提示性文本,然后当我们输入任何内容时,这段文本就会自动消失。
5、解决因输入的内容过多界面难看的办法:
随着输入的内容不断增多,EditText 会被不断地拉长。
这时由于EditText 的高度指定的是wrap_content,因此它总能包含住里面的内容,
但是当输入的内容过多时,界面就会变得非常难看。
我们可以使用android:maxLines 属性来解决这个问题。
修改activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
……
<EditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="2"
/>
</LinearLayout>
这里通过android:maxLines 指定了EditText 的最大行数为两行,
这样当输入的内容超过两行时,文本就会向上滚动,
而EditText 则不会再继续拉伸。
6、结合使用EditText 与Button 来完成一些功能
通过点击按钮来获取EditText 中输入的内容
修改MainActivity 中的代码:
public class MainActivity extends Activity implements OnClickListener
{
private Button button;
private EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(this);
}
@Override
public void onClick(View v)
{
switch (v.getId())
{
case R.id.button:
String inputText = editText.getText().toString();
Toast.makeText(MainActivity.this, inputText,
Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
}
首先通过findViewById()方法得到EditText 的实例,
然后在按钮的点击事件里调用EditText 的getText()方法获取到输入的内容,
再调用toString()方法转换成字符串,
最后仍然还是老方法,使用Toast 将输入的内容显示出来。
重新运行程序,在EditText 中输入一段内容,然后点击按钮。