2 pawleft pawLeft 于 2016.05.06 10:03 提问

两个edittext能同时获得光标是为什么 1C

这个订单中可以有多个商品,edittext设置的是全选的。我删除了一个商品之后,再刷新整个adapter,然后再次将焦点放上去,不会全选,再点击另一个edittext,之前的光标没有消失。这时输入一个数字,逻辑失效。

现在我删除商品后,直接new一个新的adapter,然后就没有问题了,只是我还没有搞清楚这个问题的原因。

图片说明

6个回答

sinat_20630273
sinat_20630273   2016.05.06 10:17

是不是在xml中设置了onclickable=true,或者editText有设置setFocusable(true);获取焦点的属性

sinat_20630273
sinat_20630273 应该不会,或者你期中一个EditText在xml设置了获取焦点的属性,你点击了另一个,或者两个都设置了获取焦点的属性。或者你把xml贴出来,我们看一下。或者你可以在代码中对两个editText设置setFocusable(false)属性。只有点击的时候才获取。
大约 2 年之前 回复
pawLeft
pawLeft 没有呢,thx。
大约 2 年之前 回复
fenhailan
fenhailan   2016.05.06 10:20

这个时候如果输入文字应该是只有一个文本框有变化吧,应该是你在代码或布局文件中奖其中一个空间设置了焦点,而你在界面上有点来点去

pawLeft
pawLeft 应该是这个情况吧,但是我不清楚自己在什么时候设置了焦点。这其实是在一个适配器里面的,在某个情况下刷新adpter的时候,点一点就成这样了。
大约 2 年之前 回复
u011524001
u011524001   2016.05.06 10:36

可以一开始的时清楚焦点,候隐藏光标,当输入的时候在进行焦点处理。

pawLeft
pawLeft 在一个适配器里面,我试过将listview清除焦点没作用。这个问题已经解决了,只是还不清楚它为什么会出现。
大约 2 年之前 回复
u013147734
u013147734   2016.05.06 17:14

listView中放editText是有这个问题,以前貌似碰见过,只有一个edittext可以输入,但有两个光标。
把中(类似这个名字)去掉试下,在Mainifest中把Activity的SoftInputMode改一下,
属性是什么adjustPan之类,几种属性试一下,我忘了应该哪一个

软键盘弹出模式改为不要自动弹出

既然EditText放在listView中,我想是不需要自动获取焦点弹出软键盘的

这个问题我解决的时候,会导致偶尔丢失光标,但是不妨碍输入,editText也会因为点击而改变背景

u013147734
u013147734 把EditText中requestFocus(类似这个名字)去掉
大约 2 年之前 回复
lxk_1993
lxk_1993   Rxr 2016.05.07 14:32

为什么有这么奇怪的需求 不能和他们说下嘛

dongfeng9ge
dongfeng9ge   Ds   Rxr 2016.05.18 13:24

你能把代码贴出来看看吗?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
android-requestFocus EditText 默认获得光标
android:id="@+id/editTextCity"         android:layout_width="100dp"         android:layout_height="40dp"         android:layout_alignLeft="@+id/radioGroupSex"         android:layout_alignTop="@+id
Android EditText 获得焦点不显示光标
在项目中使用EditText的时候,进去设置获取焦点,是有光标显示。 可有时候我们的项目并不只有一个EditText所以会有第二第三个EditText获取焦点。 然而在项目实际开发的时候发现了,除了第一次进入后有焦点显示光标外,再点击别的EditText监听到有焦点了,但是光标没显示了。 网上找了一圈,也就三种设置方法,试了一圈没用。下面也贴一下吧,都是网上复制过来的。也许下次项目前三个设置下
更改EditText光标高度
在做项目是发现如果指定了EditText的lineSpacingMultiplier 或者 lineSpacingExtra属性调整行间距,则光标会变得很大,十分的难看. 于是在网上搜,找到了解决方法. http://stackoverflow.com/questions/11641997/how-to-change-edittext-cursor-height 这个方法只在API 12以后
EditText的光标不显示
点击EditView,EditView获取焦点后,有可能光标不显示,也有可能光标不闪烁。点击多次后,光标才正常显示。
EditText的光标在中间的问题
只需要设置EditText的一个属性就行了: android:gravity="top"
关于 EditText 自动获取焦点闪烁光标
经常遇到这样的布局,进入一个界面, EditText会获取焦点,闪烁光标 但是我想一打开,它不会默认就显示光标什么的 方法很简单 <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBott
Edittext去除光标和下划线
设置 android:background="@null"隐藏下划线,android:cursorVisible="false"隐藏光标,默认为TRUE <EditText android:layout_width="match_parent" android:layout_height="match_parent" andr
Android Edittext 显示光标 获取焦点 监听焦点
Android Edittext 显示光标 获取焦点 监听焦点 Edittext java 代码控制获取焦点 EditText mEditText = (EditText) findViewById(R.id.et); mEditText.setFocusable(true); mEditText.setFocusableInTouchMode(true); 显示光标 mEditText.requestFocus();
EditText光标靠右显示
加上这一句即可  android:textCursorDrawable="@null"
EditText的光标放到末尾
edittext.requestFocus();  //光标放在末尾