ListView中Item有EditText,焦点问题

三星手机自带的输入法与搜狗输入法不同,搜狗输入法高度是固定的,但是三星输入法在输入中文 的时候高度会随着变化,这样导致在Adapter中会重复调用getView,导致Edittext失去焦点,解决办法:

记录触摸的EditText的位置:

<span style="font-size:14px;"><span style="white-space:pre">		</span>viewHolder.etContent.setOnTouchListener(new OnTouchListener()
			{

				public boolean onTouch(View view, MotionEvent event)
				{

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

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

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

						index = position;
						AppLog.redLog("img", "index--1->"+index+",position====1==="+position);
					}

					return false;

				}

			});</span>
span style="white-space:pre">	</span>判断记录的位置和当前的位置是否一致来获取焦点</span>
<span style="font-size:14px;"><span style="white-space:pre">			</span>viewHolder.etContent.clearFocus();

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

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

			}
</span>
时间: 2024-10-04 19:28:18

ListView中Item有EditText,焦点问题的相关文章

奇葩问题:ListView中Item与Item中的Button不能单击问题

android中ListView是一个经常要用到的一个组件,用到该组件时经常会碰到ListView的Item和Item中的Button不能单击的问题. 本人在使用时同样也遇到过这样的情况,共有三种情况,总结如下: 情况一:焦点问题: 设置android:descendantFocusability="blocksDescendants"> 和android:focusable="false" 该情况比较常见,在网上都可以搜索到相关的解决办法,不在这过多的介绍,

改变listview中item选中时文字的颜色

当listview的某个item选中时,默认有个选中的高亮显示,如果你要自定义选中时的高亮显示效果,可以在listview中设置属性 1 android:listSelector="@drawable/item_selector" 其中item_selector是在drawable目录下定义的一个xml文件,这种用于突出不同状态下显示效果的xml文件我们称之为selector: 1 2 3 4 5 6 7 <?xml version="1.0" encodin

【Android进阶】关于ListView中item与控件抢夺焦点的那些事

在开发中,listview可以说是我们使用最频繁的控件之一了,但是关于listview的各种问题也是很多.当我们使用自定义布局的Listview的时候,如果在item的布局文件里面存在Button或者是CheckBox等控件以及其子类控件的时候,经常会碰到各种控件的点击事件冲突的情况,那么我们如何来处理Listview中这种控件之间焦点冲突的情况呢? 我们以item存在一个Button控件为例 首先,加入我们不设置任何关于焦点的属性,比如focus等,代码如下 @Override public

listview中item的各种进入乱入效果实现

今天给大家带来的,是使用开源项目ListviewAnimation(此项目在Github上已经停止维护),来实现listview控件中,item的各种进入效果,包括左侧进入,右侧进入,下侧进入,右下角进入,放大进入.卡片样式等效果. 废话不多说,先上效果图. 卡片效果 底部进入 右侧进入 左侧进入 右下角进入 放大进入 因为这个代码确实没什么讲头,也没什么难度,我直接上传代码,大家自己看吧 点击下载源码 listview中item的各种进入乱入效果实现

android listview中item通过viewpager实现

android listview中item通过viewpager实现 android listview中item通过viewpager实现,每一个item都支持viewpager实现图片切换功能.本项目主要介绍多个viewpager加载图片和listview 上下滑动不卡顿问题.本项目由作者Flyco分享的分享地址:https://github.com/H07000223/FlycoBanner_Master.本项目找对应id封装一个ViewFindUtils类,通过如下代码找id    /**

Android学习之解决ListView中item点击事件和item中Button点击事件冲突问题

在ListView中添加Button后,如果只是单纯的加入而不加限制的话,ListView的onClick点击事件没有响应,因为Button获取了item的焦点,想要两者都可点击,需要加上如下限制: 在ListView的适配器中的布局文件中添加: (1)在布局文件的根元素上中添加属性android:descendantFocusability="blocksDescendants" (2)在Button中添加属性android:focusable="false"和a

简单的ListView中item图片异步加载

前言: 在android开发当中,从目标地址获取图片往往都是采用异步加载的方法.当完全加载完图片后在进行显示,也有些是直接将加载的图片一点一点的显示出来. 这两个区别只是对流的处理不同而已.现在就讲讲当图片被完全获取到后在显示的方法. 一,效果图:       初始化:                                                   获取后:                         1.1,效果思路: 初始化的时候默认ImageView显示一张白色的图

Android关于ListView中item与控件抢夺焦点的那些事

在开发中,listview可以说是我们使用最频繁的控件之一了,但是关于listview的各种问题也是很多.当我们使用自定义布局的Listview的时候,如果在item的布局文件里面存在Button或者是CheckBox等控件以及其子类控件的时候,经常会碰到各种控件的点击事件冲突的情况,那么我们如何来处理Listview中这种控件之间焦点冲突的情况呢? 我们以item存在一个Button控件为例 首先,加入我们不设置任何关于焦点的属性,比如focus等,代码如下 view sourceprint?

基于“ViewHolder”技术提升Android ListView中Item View加载效率

对于提升Android中频繁使用的ListView子Item View的加载效率,基于两点基本考虑: 1,Android的View的创建比较消耗资源: 2,findViewById()也不是最快的. 所以在实际开发中经常使用的适配器中的getView()方法: public View getView(int position, View convertView, ViewGroup parent); 如果每次都在里面创建一个新View出来,将导致效率低下,比较高效率的做法是每次判断convert