标签:
EditText 是一个文本输入框,主要用到的类型是普通文本输入或密码输入。
通常设置如下:
<EditText android:id="@+id/editText2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="10" //表示输入框的字符长度 android:inputType="textPassword" /> //表示输入的是字符类型密码
EditText 有常用API如下:
editview = (EditText)findViewById(R.id.editText1); pdview = (EditText)findViewById(R.id.editText2); pdview.setText(editview.getText().toString()); //输入内容的获取及赋值
EditText 常用如下两个事件监听,处理输入过程及完成。
editview.setOnFocusChangeListener(new OnFocusChangeListener(){ @Override public void onFocusChange(View v, boolean hasFocus) { if(!hasFocus){ //当该控件失去焦点时 Log.i(TAG_ACTIVITY, editview.getText().toString()); } } });
editview.addTextChangedListener(new TextWatcher(){ @Override public void afterTextChanged(Editable arg0) {
//完成输入时的字符串 textview.setText(arg0); } @Override public void beforeTextChanged(CharSequence s, int start, int count,int after) {
//例如
//当前字符串为:我要输入
//光标位置为:我*要输入
//编辑框选择为:要输入
//输入为:不要输入
//则:start = 1,count = 3, after = 4, s = 我不要输入 textview.setText("您正在输入......\n当前光标处在第 " + start +" 个位置\n您将会修改 " + count + " 个字符\n您这次输入的词语有 " + after + " 个字符\n" + "当前输入为:" + s.toString()); } @Override public void onTextChanged(CharSequence s, int start, int before,int count) {
//例如
//当前字符串为:我要输入
//光标位置为:我*要输入
//编辑框选择为:要输入
//输入为:不要输入
//则:start = 1,before = 3, count= 4, s = 我不要输入
textview.setText("您正在输入......\n当前光标处在第 " + start +" 个位置\n您选择修改 " + before + " 个字符\n您这次输入的词语有 " + count + " 个字符\n" + "当前字符串为:" + s.toString());} });
标签:
原文地址:http://www.cnblogs.com/Fredric-2013/p/4244899.html