android ExitText 软键盘

本文介绍了一种在Android应用中解决软键盘弹出导致输入框选中内容丢失的方法。通过调整代码逻辑,在软键盘弹出后再设置选中状态,解决了这一难题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    最近接到一个需求,进界面的时候 让ExitText显示上次退出时的内容并选中。

进入activity自动弹出软键盘。

然后,楼主就先设置了选中效果

searchEditText.setText(searchStr);//设置文字
searchEditText.selectAll();//设置全选中

然后,onCreate里,延迟500毫秒定时器弹出输入法

Timer timer = new Timer();
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                boolean inSearchActivity = SearchManager.getInstance(null).isInSearchActivity();
                if (inSearchActivity){
                    InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
                    imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
                    searchEditText.selectAll();//全选放在软键盘弹出来之后,否则隐藏软键盘,全选内容被清空
                }
            }
        }, 500);

结果,软键盘隐藏的时候,输入框选中的内容被清空了~!!!wtf~~~

然后居然走的是onTextChange,,,,,(搜狗输入法浮现该现象,原生输入法没有该问题)

后来挣扎了许久,在软键盘弹出来之后再设置选中就ok了。。。。。难受。。

后记:不知道说啥,瞎写的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值