最近做公司项目的时候,经常会遇到一个问题,就是我为某个控件如EditText设置requestfocus()的时候不管用,比如说登陆的时候,我判断下用户输入的密码,如果正确就登陆,错误就提示密码错误,...并且输入框获取焦点,但是实际中确不起作用 package com.example.hfs.requestfocusdemo; import android.content.Intent; import...123456".equals(mPassWord.getText().toString())){ Toast.makeText(this,"密码错误,请重新输入",Toast.LENGTH_SHORT...: Android加载刷新UI的时候,是从左到右,从上到下的顺序,正在加载的过程中,如果此时requestFocus(),的话,有可能此时还没把整个界面刷新好,导致requestFocus无效。... @Override public void run() { mPassWord.requestFocus(); } }, 500); 这样就解决了这个问题了
介绍 Android中EditText是一个InputType类型有很多的控件,可以来达到不同的软键盘效果。如下图: ?...InputType类型 在最近在项目中要实现EditText输入金额,金额的限制因素很多,比如,只能输入数字和小数点,首位不能输入0和小数点,小数点后面只能保留两位等等,这些仅仅用InputType是无法实现的...设置EditText的InputType 需要将EditText的InputType设置成如下格式,保证用户只能输入小数点和数字: android:inputType="numberDecimal" 或者.../输入的最大金额 private static final int MAX_VALUE = Integer.MAX_VALUE; //小数点后的位数 private static final...* @param start 新输入的字符串起始下标,一般为0 * @param end 新输入的字符串终点下标,一般为source长度-1 * @param
InputFilter 可能需要对用户的输入进行一些限制,可以为EditText Widget设置一个InputFilter以实现这一功能 如: /* * 使用输入过滤器约束用户输入...* (只能输入两个大写字母) * setFilters方法需要调用一个InputFilter对象数组。...* 本例中将所有输入的小写字母自动转换为大写字母,而且被限定在 * 两个字符 */ final EditText text_f = (EditText...)findViewById(R.id.editText01); text_f.setFilters(new InputFilter[]{...new InputFilter.LengthFilter(2) }); 下例 小数点后两位 private void initEt() { tv1=(EditText
密码的显示和隐藏是一个很常见的小知识点,主要包括2个部分:小图标的变化和EditText输入密码的显示和隐藏 小图标的变化 小图标的变化一般也有2种实现方式: (1)ImageView或ImageButton...,改变EditText的显示状态 (2)ToggleButton 这种方式需要写一个selector文件,根据state_checked值设置不同的图片 实现步骤: 首先布局中添加ToggleButton...onCheckedChanged方法,在这个方法里可以改变EditText的显示状态 EditText输入内容的显示和隐藏 也有2种方式可以实现:修改TransformationMethod和动态修改...edtPassword.setTransformationMethod(PasswordTransformationMethod.getInstance()); (2)修改InputType 这种方式有个问题就是密码的显示隐藏状态改变时字间距会变化...你的每一点支持都是对我莫大的鼓励
EditText 监听回车 使用EditText时,有时候我们会需要监听输入的回车,以做出一些操作。 或者需要把回车变成“搜索”,“发送”或“完成”等等。...EditText 为我们提供了一个属性 imeOptions 用来替换软键盘中 enter 键的外观,如actionGo 会使外观变成“前往”。...,如果传入的index超出了text的范围,会报 java.lang.IndexOutOfBoundsException 因此在实际工程中,需要判断传入的位置是否在EditText已有内容的长度范围内。...把光标移动到最后 光标右移一位 光标左移一位 全选当前输入的textmEt1.setSelection(0, mEt1.getText().length()); 监听输入内容 代码中动态限制输入长度 使用...中的数据不为空,且长度大于指定的最大长度 if (!
这篇文章主要为大家详细介绍了Android布局之输入框EditText设计,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 现在先简单介绍一下技术点: 1.如何使用圆角输入框和按钮背景 2.如何实现...“手机号”、“密码”后面的竖线 3.如何嵌套输入框的布局 4.如何监听输入框的输入事件及删除按钮的动态显示隐藏 1.如何使用圆角输入框和按钮背景 安卓为开发者准备了shape这个xml标签,用于自定义一些形状...那么我就来定义一个白色的输入框背景。代码如下: 的去嵌套去使用各种布局,一定会组合出炫酷的效果的。这里布局很简单仅仅是一层嵌套(整个页面布局嵌套输入框的布局)。...思想很简单,就是监听EditText的输入事件,之后如果输入长度大于0就显示后面的删除按钮,如果=0就隐藏删除按键,点击删除按钮就清空输入框。
大家好,又见面了,我是你们的朋友全栈君。 日常开发中,我们可能会遇到需要监听EditText输入,比如判断输入是否为电话号码,获取输入的数据长度来限定字数等。...这就需要监听EditText的输入状态。...、二个字符、删除一个字符的截图 这样理解: 这个方法执行获取的状态是在你输入前光标所在位置: 输入一个字符:s字符串也就是当前EditText中的内容为空,所以输出空;...意思是:这个方法告诉你,在字符串s内的某处,一些地方已经改变了,在这个方法里可以对s做一些改变,但是注意别让你陷入反复调用它的问题上,因为可能你做的任何改变会让他递归调用本身。...所以文档中说到谨慎一点,小心陷入递归自身的问题。所以这个方法是在你输入完后才调用的,你输入一个字符,然后以后是不是一直处于输入完成状态,所以他一直在调用这个方法。
AlertDialog 中有EditText却不弹出输入法的解决方法 问题很无厘头,方法很简单: 加上这句代码就好了 alertDialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM
因为想做一个类似微信发送按钮的功能,即输入框有内容时就是发送按钮,没内容时是其他附加的功能,所以查了一下edittext的监听事件。...具体代码如下 //设置文本变化的监听 ed.addTextChangedListener(watcher); private TextWatcher watcher = new TextWatcher(...就是输入框之后之中的内容 if(s.toString().isEmpty()){ //这里的setLayoutParams方法就是设置一个控件大小的方法,LayoutParams...void afterTextChanged(Editable arg0) { // TODO Auto-generated method stub } }; 这样就实现了在输入框有文字时显示一个按钮...,而在木有字的时候显示另一个按钮辣
对于EditText控件来说可能需要用户输入提示,比如这个文本库是需要输入姓名的,可能 输入提示的内容为 “单击输入姓名”,使用Java代码,直接调用setHint(CharSequence...hint) 即可,而对于layout xml布局文件而言,可以加入android:hint="单击输入姓名" 这行在你的 EditText 中即可。 ...输入提示颜色为灰色的,用户单击后自动清除,一般作用是告诉用户这个文本框需要输入的内容是什么。
转载请标明出处: http://blog.csdn.net/lxk_1993/article/details/50527886 本文出自:【lxk_1993的博客】 如题 当listview的item...中有edittext时,怎么保存edittext的值?...Edittext In Listview 笔者刚开始是直接 addTextChangedListener 效果是这样,点击添加的时候,edittext的值会消失。 最后实现的效果图。
1.数据错乱 最近在开发一个基于RecycelrView的编辑器, Recyclerview中包含Edittext在滚动时会发生数据混乱的问题,之所以数据混乱就是因为Recyclerview的复用导致的...处理方式为: 在onBindViewHolder中通过在适当的时机添加或移除Edittext的TextChangedListener来处理数据错乱的问题。...这个适当的时机就是选在Edittext获得焦点的时候添加监听器,失去焦点的时候再移除监听器,这样可以保证数据的正确性。...无法复制的问题 只需要在重写onViewAttachedToWindow方法然后设置isEnabled override fun onViewAttachedToWindow(holder: BaseViewHolder...被软盘遮挡和键盘弹出布局不上移 关于RecyclerView中包含Edittext的问题的几种解决方法
方法一: 在 xml 文件中设置文本编辑框属性作字符数限制 如:android:maxLength="10" 即限制最大输入字符个数为10 方法二: 在代码中使用InputFilter 进行过滤...//editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(20)}); 即限定最大输入字符数为20 ?...对应的 activity 部分的调用为: ? 限制输入字符数为10个 main.xml 文件 ? 效果为输入了10个字符后,光标停在末尾 ?
在有EditText的界面 默认情况下不获取焦点(不弹出输入框)! 找网上找了一些解决方法像下面这些,都不能实现。...最后的解决方法是: 在AndroidMainfest.xml中选择哪个activity,设置windowSoftInputMode属性为adjustPan|stateHidden.
今日需求,EditText内容为一串字符串,要求将用户软键盘输入的小写字母在输入的时候自动转为大写字母,反之亦然。 效果如下: ?...第一次做该需求,原先想法: EditText.addTextChangedListener(new TextWatcher() { @Override public...} @Override public void afterTextChanged(Editable s) { // 对输入后的内容进行二次处理...} }); 对于afterTextChanged回调方法里,对输入的字符串进行大小写转换,结果失败,因为每次转换之后实际就再次回调该方法导致死循环...两个字符数组,分别将对应位置的原始字符转换为要求后的字符。
item_editText = helper.getView(R.id.item_editText); // 通过tag判断当前editText是否已经设置监听,有监听的话,移除监听再给...editText赋值 if (item_editText.getTag() instanceof TextWatcher){ item_editText.removeTextChangedListener...((TextWatcher) item_editText.getTag()); } // 必须在判断tag后给editText赋值,否则会数据错乱 item_editText.setText...item.setNum(Integer.valueOf(editable + "")); } } }; // 给item中的editText...设置监听 item_editText.addTextChangedListener(watcher); // 给editText设置tag,以便于判断当前editText是否已经设置监听
super.onCreate(savedInstanceState); setContentView(R.layout.regis_ui); EditText...tv = (EditText) findViewById(R.id.na); name = tv.getText().toString(); EditText...mm = (EditText) findViewById(R.id.pd); password = mm.getText().toString(); ...Regis.this.setResult(0,intent); finish(); } }); } 此时是获取不到编辑框中的值...,当把红色部分放置在按钮的监听函数中就可以获取到。
DecimalFormat format 方法 大家在format()一个小数是,总是对格式中的'0'和'#'有些不解吧!...0和#都是占位符,但在不同的地方,作用不一样。下面对他们做了具体的比较。 希望对大家有所帮助。 0: 比实际数字的位数多,不足的地方用0补上。...: 3.140 new DecimalFormat("00.000").format(3.14) //结果:03.140 比实际数字的位数少:整数部分不改动,小数部分,四舍五入...//结果:13.15 new DecimalFormat("0.00").format(13.146) //结果:13.15 #: 比实际数字的位数多,不变。...: 3.14 new DecimalFormat("##.###").format(3.14) //结果:3.14 比实际数字的位数少:整数部分不改动,小数部分,四舍五入
android:inputType="none"--默认 android:inputType="text"--输入文本字符 android:inputType="textCapCharacters"...inputType="datetime" 日期时间 android:inputType="date"--日期键盘 android:inputType="time"--时间键盘 其中大多数是用不到的,...这里总结一下常用的几种键盘效果 1、numberDecimal(可以带小数点的浮点格式) 只可以输入0-9数字 和 小数点 ,即只浮点数 2、number (数字格式 ) 只可以输入...0-9数字,与numberDecimal区别是 不能输入小数点 ,点击0-9外的都无效 3、textPassword (密码格式) 默认为手机当前设置的输入键盘类型,附带效果,输入的字符会变成星号...* ,一般用于密码框的输入 。
领取专属 10元无门槛券
手把手带您无忧上云