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下,如果设置了全屏,输入框获得焦点时,软键盘会盖住输入框,怎么破?

Layui文本框失去焦点和AJAX验证msg弹框的使用

Layui文本框失去焦点和AJAX验证msg弹框的使用

Qt设置某一窗口获取不到焦点,或者焦点一直在某一窗口上

(转)完美解决 Android WebView 文本框获取焦点后自动放大有关问题

Android WebView 文本框确认密码第二个获取焦点后设置不能自动放大