EditText控件与TextView控件类似,最大的区别就是EdiText允许用户输入!
在布局中加入EditText控件:
<EditText
android:id="@+id/eidt"
android:layout_width="200dp"
android:layout_height="wrap_content"
/>
EditText常用属性:
-id: 为EditText设置一个组件id;
-layout_weith: 设置控件的宽度;
-layout_hight: 设置控件的高度;
(以上三个属性每个控件都有,以后不在重复说明了)
-inputType(textPassword): 设置输入内容为密码;
-inputType(Phone): 设置输入的内容为号码;
-maxLength: 设置输入的最大文本数, 参数为数字例如 android:maxLength=“5”;
-maxLines: 设置最大行数,参数为数字;
-minLines: 设置最小行数,参数为数字;
-hint: 设置默认提示文本;
-textColorHint: 设置默认提示文本颜色;
-capitalize: 设置英文字母大小写属性,参数包含:
sentences: 仅第一个字母大写
words: 单词首字母大写
characyers: 全部字母大写;
EditText控件的绑定:
绑定控件的方法也都一样,在onCreate方法中使用findViewById()方法:
public class MyActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//绑定main.xml文件中的EdiText控件
EditText editText = (EditText) findViewById(R.id.edit);
}
}
EditText获取用户输入:
绑定后获取用户的输入很容易,使用getText()方法即可:
editText.getText();//获取用户输入的方法
值得一提的是这个方法直接写在绑定好的EditText语句后面是不行的!准确的说是获取不到输入的内容,我们需要一个 触发事件在输入完成后再触发获取输入的方法,就能正常拿到数据啦!下面看代码:
EditText editText;
TextView text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText) findViewById(R.id.edit);
text = (TextView) findViewById(R.id.text);
text.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
text.setText(editText.getText());;
}
});
}
text.setOnClickListener()方法是text监听方法.用来监听TextView的点击事件。 整个流程就是在输入文本后点击text然后text的文本就会被替换成你输入的文本.
按照上述内容修改文件并运行,查看效果