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输入错误时该怎样提示用户的主要内容,如果未能解决你的问题,请参考以下文章