android之EditText输入错误时该怎样提示用户

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android之EditText输入错误时该怎样提示用户相关的知识,希望对你有一定的参考价值。

android提示可以使用dialog或者Toast来提示,以下是示例代码:
1.创建对象框
AlertDialog.Builder builder = new Builder(context);
builder.setTitle("请输入"); //设置对话框标题
builder.setIcon(android.R.drawable.btn_star); //设置对话框标题前的图标

2.创建EditText输入框
final EditText edit = new EditText(context);

3.将输入框赋值给Dialog,并增加确定取消按键
builder.setView(edit);
builder.setPositiveButton("确认", new DialogInterface.OnClickListener()
@Override
public void onClick(DialogInterface dialog, int which)
Toast.makeText(context, "你输入的是: " + edit.getText().toString(), Toast.LENGTH_SHORT).show();

);
builder.setNegativeButton("取消", new DialogInterface.OnClickListener()
@Override
public void onClick(DialogInterface dialog, int which)
Toast.makeText(context, "你点了取消", Toast.LENGTH_SHORT).show();

);

4.设置常用api,并show弹出
builder.setCancelable(true); //设置按钮是否可以按返回键取消,false则不可以取消
AlertDialog dialog = builder.create(); //创建对话框
dialog.setCanceledOnTouchOutside(true); //设置弹出框失去焦点是否隐藏,即点击屏蔽其它地方是否隐藏
dialog.show();
参考技术A   在edittext的右边隐藏一个TextView用于提示。  
  一般使用Edittext会限制字符串输入规则的,限制他输入不该输入的内容。但是可能一些逻辑的判断错误,必须用户名已经存在这类错误,推荐在右方隐藏提示信息,当输入错误时显示出来,这种方式比较友好。
参考技术B 可以在edittext下面或者上面显示一个textview。本回答被提问者和网友采纳 参考技术C 怎么提示需要UED或产品来给出,一般就是显示Toast和Dialog 参考技术D 1) 使用Toast提示

Toast. makeText ( this, "邮箱格式不正确", Toast. LENGTH_LONG ). show ( ) ;

2) 使用EditText的setError提示

EditText et = (EditText ) findViewById (R. id. etTest ) ;

et. setError ( "有错误提示" ) ;
PS:在EditText的右边使用TextView来提示,类似于网页中注册页面。需要注意的是EditText必须获得焦点才会弹出错误提示框。

3) 自定义图标的setError提示

Drawable d = getResources ( ). getDrawable (R. drawable. ic_launcher ) ;

d. setBounds ( 0, 0, 30, 30 ) ; //必须设置大小,否则不显示
et. setError ( "有错误提示", d ) ;

了解Android_04之EditText标签

一、EditText标签作用

  用于输入文字,类似于HTML中的<input type="text" />标签

二、EditText标签继承TextView标签,很多TextView标签的样式它同样也支持。

三、Edit标签特有的属性:

<EditText
    android:id="@+id/et1"
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:hint="电话号码"
    android:textSize="28sp"
    android:paddingLeft="10dp"
    android:inputType="number"
/>

分析:

 

 其中,inputType的值可以改为textPassword,效果是输入时文本变为加密形式。

四、EditText的监听事件:

public class MainActivity extends AppCompatActivity {
    private EditText et1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        et1 = findViewById(R.id.et1);
        et1.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { //文本改变前

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { //文本改变时触发
                //charSequence为当前文本编辑框中的值
                Toast.makeText(MainActivity.this,charSequence,Toast.LENGTH_SHORT).show(); //使用吐司打印一下当前改变的文本
            }

            @Override
            public void afterTextChanged(Editable editable) { //文本改变后

            }
        });
    }
}

 

以上是关于android之EditText输入错误时该怎样提示用户的主要内容,如果未能解决你的问题,请参考以下文章

android怎样控制输入法的弹出和隐藏

Android之EditText

android中怎样设置一个EditText里的默认值是1

从 EditText 获取数据输入时,导致应用程序崩溃 Android 的 NumberFormat 错误

了解Android_04之EditText标签

ListView 中的 EditText 没有它回收输入