Android中EditText无法再次获得焦点

一开始以为是获取到焦点之后软键盘没办法跳出的原因,添加了以下事件监听

?validateCodeEditText.setOnFocusChangeListener(new android.view.View.OnFocusChangeListener() {

InputMethodManager imm =(InputMethodManager)validateCodeEditText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);

[email protected] void onFocusChange(View v, boolean hasFocus){

if (hasFocus) {

imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);

} else { imm.hideSoftInputFromWindow(validateCodeEditText.getWindowToken(),0);

} }});

后来发现是在?validateCodeEditText.setFocusable(false);之后,再次获取焦点要使用以下语句

?validateCodeEditText.setFocusable(true);

validateCodeEditText.setFocusableInTouchMode(true);

validateCodeEditText.requestFocus();

validateCodeEditText.findFocus();

时间: 2024-12-09 07:24:13

Android中EditText无法再次获得焦点的相关文章

Android中EditText显示明文与密文的两种方式

效果图   布局文件 <?xml version="1.0" encoding="utf-8"?> <!-- Android中EditText显示明文与密文的两种方式 --> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/to

android中设置控件获得焦点

android中,要使控件获得焦点,需要先setFocus,再requestFocus. 以Button为例:                btn.setFocusable(true);                btn.setFocusableInTouchMode(true);                btn.requestFocus();                btn.requestFocusFromTouch(); //获得失去焦点的监听器 btn.setOnFocu

Android中EditText的inputType属性值

android中inputType属性在EditText输入值时启动的虚拟键盘的风格有着重要的作用.这也大大的方便的操作.有时需要虚拟键盘只为字符或只为数字.所以inputType尤为重要.<EditText android:layout_width="fill_parent" android:layout_height="wrap_content"android:inputType="text" /> //文本类型,多为大写.小写和

Android中EditText的字数的限制实现

先上代码: import java.io.UnsupportedEncodingException; import android.app.Activity; import android.text.Editable; import android.text.TextWatcher; import android.util.Log; import android.widget.EditText; /** * edittext监听器,用于限制字数,如果字数超过,则自动舍弃,并通过toast提示 *

解决android中EditText导致的内存泄漏问题

开发中用到了LeankCanary,在一个简单的页面中(例如 :仅仅 包含Edittext),也会导致内训泄漏,为此,我在网上找了大量资料,最终解决.例如一个布局:<LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:focusable="true"android:focusableInTouchMode=&qu

Android中Edittext的属性

//此为转载别人的,挺不错的 1.EditText输入的文字为密码形式的设置 (1)通过.xml里设置: 把该EditText设为:android:password="true" // 以”.”形式显示文本 (2)在代码里设置: 通过设置EditText的setTransformationMethod()方法来实现隐藏密码或这显示密码. editText.setTransformationMethod(PasswordTransformationMethod.getInstance()

android的EditText获取另一个焦点

在android关于开发过程EditText在setFocusable(false);后,设置时需要再次获得输入焦点setFocusable(true);问题后仍然无法获得焦点: 解决的方法: 对EditText设置后就能够了. et.setFocusable(true); et.setFocusableInTouchMode(true); et.requestFocus(); et.findFocus(); 版权声明:本文博客原创文章.博客,未经同意,不得转载.

Android中EditText焦点问题

https://www.jianshu.com/p/3d31d681f4bc 问题:当EditText失去焦点时做内容校验 场景:用户编辑EditText将内容清空,当点击空白地方时关闭软键盘,同时校验EditText的内容,如果为空则设为"1". 问题远没有看着那么简单哦 第一步:添加焦点监听 view.setOnFocusChangeListener(new OnFocusChangeListener() { @Override public void onFocusChange(

关于android中EditText自动获取焦点并弹出键盘的相关设置

在android开发中,关于EditText自动获取焦点弹出键盘,我们可能又是会有让键盘自动弹出的需求,有时可能又会有不想让键盘自动弹出的需求,下面是我所总结的两种方法: 需求:EditText自动获取焦点并弹出键盘,代码: EditText.setFocusable(true); EditText.setFocusableInTouchMode(true); EditText.requestFocus(); 需求:EditText不会自动获取焦点并且不会弹出键盘,代码:  将其父控件设置: P