androidwebview内部弹框获取不到焦点
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了androidwebview内部弹框获取不到焦点相关的知识,希望对你有一定的参考价值。
遇到情况如下:android7.1 版本正常
华为Android9.0和三星Android10.0文本框无法获取焦点,不弹软键盘。
弹软键盘解决方法:
Webview.requestFocus();
但是还是解决不了无法获取焦点的问题,后来经排查如下:
在extends WebViewClient后的onPageStarted方法中调用webview.setEnabled(false)导致的;
无法获取焦点解决办法:
删除webview.setEnabled(false)即可;
因为webview.setEnabled(false) 把key event和 touch event都屏蔽掉了。 参考技术A 删除webview.setEnabled(false)即可;
因为webview.setEnabled(false) 把key event和 touch event都屏蔽掉了。
Android中ListView的Item的子控件获取焦点问题
ListView的Item中包含了ImageView和TextView控件,ImageView可以点击,但是TextView却不能点击
参考技术A ListView默认情况当item有焦点时,item上的button等子控件获取不到焦点;
当子控件有焦点时,item无焦点无法响应onItemClick事件
ViewGroup.FOCUS_AFTER_DESCENDANTS:表示item的子控件优先于item获得焦点;
ViewGroup.FOCUS_BEFORE_DESCENDANTS:表示item优先于其子控件获得焦点。
解决办法:
[java] view plaincopy
listView.setOnItemSelectedListener(onItemSelectedListener);
private AdapterView.OnItemSelectedListener onItemSelectedListener =
new AdapterView.OnItemSelectedListener()
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id)
//当此选中的item的子控件需要获得焦点时
parent.setDescendantFocusability(ViewGroup.FOCUS_BEFORE_DESCENDANTS);
//else parent.setDescendantFocusability(ViewGroup.FOCUS_BEFORE_DESCENDANTS);
@Override
public void onNothingSelected(AdapterView<?> parent)
parent.setDescendantFocusability(ViewGroup.FOCUS_BEFORE_DESCENDANTS);
追问
这个我设置了,没有起到效果额
追答实在不行的话你可以把textview改成button,textview有的button都有
参考技术B 设置成编辑框以上是关于androidwebview内部弹框获取不到焦点的主要内容,如果未能解决你的问题,请参考以下文章
android的webview下,如果设置了全屏,输入框获得焦点时,软键盘会盖住输入框,怎么破?