listview 嵌套EditText

本文探讨了在Android开发中遇到的ListView嵌套EditText时无法获取焦点的问题,并提供了具体的解决方案,即在Adapter适配器中进行相应设置。

1、listview 嵌套EditText 不能获取焦点问题:


      解决方案:在adapter适配器中:

     

EditText etScore=helper.getView(R.id.etScore);
etScore.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View view, MotionEvent motionEvent) {
        if (motionEvent.getAction() == MotionEvent.ACTION_UP) {
            index = helper.getPosition();
        }
        return false;
    }
});

etScore.clearFocus();
if (index != -1 && index == helper.getPosition()) {
    // 如果当前的行下标和点击事件中保存的index一致,手动为EditText设置焦点。
    etScore.requestFocus();
}
etScore.setTag(item);
etScore.setText(score);
etScore.setSelection(score.length());
2、listView 嵌套 EditText 不能显示焦点:
   
//解决光标不显示问题
 etScore.setOnFocusChangeListener(new View.OnFocusChangeListener() {
     @Override
     public void onFocusChange(View v, boolean hasFocus) {
         // 关键代码
         v.dispatchWindowFocusChanged(hasFocus);
     }
 });
3、ListView 嵌套EditText 输入法弹出,输入的值变为0:
   在Activity中设置
    android:windowSoftInputMode="adjustPan"
    android:configChanges="keyboardHidden|orientation|screenSize"

   

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值