EditTextView跟Adapter使用聚焦问题

本文探讨了在Android中ListView中EditTextView遇到的聚焦问题。当Activity启动时,ListView的第一个EditText会自动聚焦,这可能是由于EditText的初始化设定。解决方法是在EditText的父布局设置focusable和focusableInTouchMode属性为true。此外,当输入法弹出导致adapter刷新时,若未在getView中手动设置requestFocus,EditText可能无法聚焦。为解决此问题,可以在触摸事件中记录需要聚焦的EditText,并在getView时根据记录的Key值手动调用requestFocus。
摘要由CSDN通过智能技术生成
日前使用ListView+Adapter+EditText时,碰到两个EditText聚焦问题,记录如下:

1、进入Activity,ListView中第一个EditText立刻聚焦。

原因:EditText初始化设定

解决方法:在EditText的父布局中,设置focusable=true,focusableInTouchMode=true

            LinearLayout linearLayout = new LinearLayout(context);
            linearLayout.setOrientation(LinearLayout.HORIZONTAL);
            TextView keyView = new TextView(context);
            keyView.setText(key);
            linearLayout.addView(keyView);
            final EditText valueView = new EditText(context);
            valueView.setMinimumWidth(200);
            //解决初始化Activity时,EditText立刻聚焦的问题
            linearLayout.setFocusable(true);
            linearLayout.setFocusableInTouchMode(true);
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值