g t*_*g t 19 android android-edittext
我在listview中有一些edittext.我在edittext上有一个通用的focuslistener,可以通过调用notifydatachanged来更新数据模型的值以及当焦点丢失时edittext的背景.问题是如果其中一个edittext持有焦点,当我触摸下一个edittext时,它会暂时获得焦点然后失去焦点.我怀疑这是由于notifydatachanged方法调用导致重绘所有视图,之后焦点丢失.有没有人有关于这个问题的建议或解决方法?谢谢.
Sam*_*udd 19
确实发生了这种情况,因为所有视图都被重新绘制,因此表示用于聚焦的任何行的编辑文本现在是完全不同的对象.在适配器中设置一个变量:int currentFocusedRow;
在适配器的getView中:为每个编辑文本添加onFocusChanged侦听器,当该编辑文本获得焦点时,设置currentFocusedRow =焦点编辑文本恰好位于的任何行.还要设置要聚焦的currentFocusedRow中的任何编辑文本.
小智 18
组
android:windowSoftInputMode="adjustPan"
Run Code Online (Sandbox Code Playgroud)
对于您在AndroidManifest.xml中的活动
我也有一个EditText失去焦点的问题,但是调用setDescendantFocusability(ListView.FOCUS_AFTER_DESCENDANTS)解决了它.
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
final ListView lv = getListView();
lv.setDescendantFocusability(ListView.FOCUS_AFTER_DESCENDANTS);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18541 次 |
| 最近记录: |