//这个是设置EditText添加到行的Layout时需要的属性,高度无所谓,宽度要填满父容器,别手动设置宽度dp

private LayoutParams fillParentLayoutParams = new LinearLayout.LayoutParams(

LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.FILL_PARENT);

private int index = -1;

public View getView(final int position, View convertView, ViewGroup parent) {

// 这个地方就是决定convertView是否重用的,一定要判断!

if(convertView == null) {

convertView = new LinearLayout(activity);

}

else{

// 因为项目中每一行的控件究竟有什么都不确定,所以清掉layout里的所有控件,你的项目视情况而定。

((LinearLayout) convertView).removeAllViews();

}

// 不要直接new一个Layout去赋值给convertView!!那样就不是重用了,否则,后果自负~~

EditText editText = new EditText(activity);

// 你可以试试把addView放到这个函数的return之前,我保证你会后悔的~~

// 因为前面说过,addView的先后对画面的结果是有影响的。

((LinearLayout) convertView).addView(editText, fillParentLayoutParams);

editText.setOnTouchListener(new OnTouchListener() {

public boolean onTouch(View view, MotionEvent event) {

// 在TOUCH的UP事件中,要保存当前的行下标,因为弹出软键盘后,整个画面会被重画

// 在getView方法的最后,要根据index和当前的行下标手动为EditText设置焦点

if(event.getAction() == MotionEvent.ACTION_UP) {

index= position;

}

return false;

}

});

editText.addTextChangedListener(new TextWatcher(){

public void afterTextChanged(Editable editable) {

}

public void beforeTextChanged(CharSequence text, int start, int count, int after) {

}

public void onTextChanged(CharSequence text, int start, int before, int count) {

// 在这个地方添加你的保存文本内容的代码,如果不保存,你就等着重新输入吧

// 而且不管你输入多少次,也不会有用的,因为getView全清了~~

}

});

// 这个地方可以添加将保存的文本内容设置到EditText上的代码,会有用的~~

editText.clearFocus();

if(index!= -1 && index == position) {

// 如果当前的行下标和点击事件中保存的index一致,手动为EditText设置焦点。

editText.requestFocus();

}

// 这个时候返回的东东,就是ListView对应行下标的那一行的内容。

return convertView;

}

android listview edittext 焦点冲突,Android开发之ListView+EditText-要命的焦点和软键盘问题解决办法...相关推荐

  1. Flutter开发之ListView下拉刷新上拉加载更多(35)

    在Flutter开发之ListView组件(21) 文章中,我们了解了ListView组件的基本使用.但是数据比较少,没有涉及分页加载.而实际开发中,下拉刷新和分页加载几乎是所有APP的标配.在iOS ...

  2. Flutter开发之ListView添加HeaderView和FooterView-2(39)

    参考文章:RecyclerView添加HeaderView和FooterView 接着Flutter开发之ListView添加HeaderView和FooterView-1 继续研究. 通过Recyc ...

  3. Flutter开发之ListView使用第三方flutter_refresh加载更多(37)

    在Flutter开发之ListView使用第三方pull_to_refresh加载更多(36) 中我们实现了下拉刷新.上拉分页加载的功能.今天介绍另一个ListView使用第三方flutter_ref ...

  4. Flutter开发之ListView使用第三方pull_to_refresh加载更多(36)

    在Flutter开发之ListView下拉刷新&上拉加载更多(35) 中我们实现了下拉刷新.上拉分页加载的功能.但是使用起来非常不方便,且不满一屏时难以处理. 今天介绍ListView使用第三 ...

  5. android listview 列加id,Android实战开发之ListView同一个item显示2列的实现方法

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Android实战开发中,ListView控件用途十分广泛,各种自定义控件多种多样.当项目要求实现一个2列的商品列表形式的界面,我们首先肯定想到用List ...

  6. android listview 开发,android开发之ListView实现

    今天又初步学习了一下ListView控件,看看效果如下: LisViewActivity.java源码: package com.jinhoward.UI_listview; import java. ...

  7. android 两列菜单,【Android】实战开发之ListView同一个item显示2列的实现方法(仿2列商品列表)...

    Android实战开发中,ListView控件用途十分广泛,各种自定义控件多种多样.当项目要求实现一个2列的商品列表形式的界面,我们首先肯定想到用ListView,然后我们可以使用百度的自定义List ...

  8. Android开发之ListView异步加载图片

    ListView这个控件对于大家肯定不会陌生,即使你是初学者相信也会用ListView.因为ListView这个控件实在是太常用,可以说基本上每一个项目开发都会用到它,今天这篇博客主要讲解,ListV ...

  9. android 图片横竖判断_Android应用开发之android 判断ImageView当前显示的是哪一张图片...

    本文将带你了解Android应用开发之android   判断ImageView当前显示的是哪一张图片,希望本文对大家学Android有所帮助. 判断ImageView当前显示的是哪一张图片 Java ...

最新文章

  1. 【FFmpeg】ffmpeg工具源码分析(四):filter(过滤器、滤镜)详解
  2. 我们遇到困难怎么办?
  3. ubuntu 命令整合1
  4. Linux内核学习--内存管理模块
  5. 【C 语言】文件操作 ( C 语言中的文件操作函数 | 磁盘与内存缓冲区 | 缓冲区工作机制 )
  6. asp.net中的<%%>形式的详细用法总结
  7. Java普通对象的内存配置
  8. 树莓派python交互界面实例_树莓派综合项目2:智能小车(二)tkinter图形界面控制...
  9. jzoj3845-简单题【dp】
  10. 运行keras出现 FutureWarning: Passing (type, 1) or ‘1type‘ as a synonym of type is deprecated解决办法
  11. html表单action属性值,HTML中的form表单中的action属性
  12. VC程序中运行其他程序的三种方法
  13. Windows 系统部署之创建应答文件
  14. mysql 用户管理_mysql 用户管理及数据权限问题总结
  15. Ubuntu 14.04 开机手动开启numlock led
  16. java对接modbus rtu协议设备
  17. 第八次作业-项目进度计划
  18. cad重新加载php命令,cad刷新命令是什么?
  19. 如何连接别人电脑/如何看自己电脑IP地址+ping命令+DOS窗口
  20. python抢优惠券程序_python3 优惠券查询GUI程序

热门文章

  1. 招硕博80人 (紧缺)!博士补贴33万,硕士房补22万,事业编,安置配偶+子女入学,坐标湖北...
  2. 使用OpenCV实现摄像头测距
  3. 15 位学神争霸!2019 清华本科生特奖答辩入围名单公布
  4. 有一群200w年薪的朋友是什么感觉?谈一谈入学中国科学院大学的几点感受吧
  5. codis3.2升级redis3.11到redis6.0.10调研
  6. python判断一个数是整数、浮点数还是字符串
  7. 技术10期:什么是Kafka?【全解析】
  8. 只用一张训练图像进行图像的恢复
  9. 学习作用域中的“名词”
  10. 【裴蜀定理】[HAOI2011]向量