首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >列表视图中的Android edittext在调用通知数据上失去了焦点

列表视图中的Android edittext在调用通知数据上失去了焦点
EN

Stack Overflow用户
提问于 2012-03-02 10:12:26
回答 5查看 20.1K关注 0票数 23

我在listview中有几个edittext。我在edittext上有一个通用的focuslistener,它通过调用notifydatachanged来更新数据模型的值,以及当焦点丢失时edittext的背景。问题是,如果其中一个edittext保持焦点,当我触摸下一个edittext时,它会暂时获得焦点,然后失去焦点。我怀疑是因为调用了notifydatachanged方法,导致所有视图都被重新绘制,之后焦点就丢失了。有没有人有关于这个问题的建议或解决办法?谢谢。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-03-02 13:38:33

这确实发生了,因为所有的视图都被重新绘制了,所以表示以前被聚焦的任何行的编辑文本现在是一个完全不同的对象。在适配器中设置一个变量: int currentlyFocusedRow;

在适配器的getView中:为每个编辑的文本添加一个onFocusChanged侦听器,当编辑的文本获得焦点时,设置currentlyFocusedRow =关注的编辑文本所在的任何行。还要将currentlyFocusedRow中的任何编辑文本设置为焦点。

票数 22
EN

Stack Overflow用户

发布于 2012-12-05 18:04:09

设置

代码语言:javascript
复制
android:windowSoftInputMode="adjustPan"

对于您在AndroidManifest.xml中的活动

票数 18
EN

Stack Overflow用户

发布于 2012-10-06 09:42:15

我也遇到了EditText失去焦点的问题,但是调用setDescendantFocusability(ListView.FOCUS_AFTER_DESCENDANTS)解决了这个问题。

代码语言:javascript
复制
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    final ListView lv = getListView();
    lv.setDescendantFocusability(ListView.FOCUS_AFTER_DESCENDANTS);
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9527067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档