widget(2、EditText)

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());} });
复制代码
posted @   Fredric_2013  阅读(299)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示