chR*_*NaN 2 java android touch-event android-webview android-dialogfragment
编辑:我已经查看了错误页面 ; 没有答案工作.它似乎是一个Android尚未解决的系统错误.
首先我提到了这个类似的问题.但是这个问题的解决方案似乎并不是我的解决方案.我有一个DialogFragment只包含一个WebView.这里的一切WebView似乎都是可以触摸的.但问题是,当我触摸表单域时,会出现光标但软键盘从不出现!
这是我在类中的onCreateDialog()方法中的代码DialogFragment:
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
WebView web = new WebView(getActivity());
web.loadUrl(InternetDialog.this.url);
web.setFocusable(true);
web.setFocusableInTouchMode(true);
web.requestFocus(View.FOCUS_DOWN);
web.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_UP:
if (!v.hasFocus()) {
v.requestFocus();
}
break;
}
return false;
}
});
builder.setView(web);
return builder.create();
Run Code Online (Sandbox Code Playgroud)
当我选择表单字段时,如何才能显示软键盘?
chR*_*NaN 11
这是一个尚未修复的系统错误.更多信息可以在这里找到.似乎这个错误对人来说不同,因此有不同的解决方案.对于我的特殊情况,只有一个解决方案(因为我已经尝试了其他一切).解:
首先,我为以下内容创建了一个布局Dialog:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusable="true"
android:visibility="invisible"/>
<WebView
android:id="@+id/web"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
然后,在方法的DialogFragment类中onCreateDialog:
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = LayoutInflater.from(getActivity());
View v = inflater.inflate(R.layout.internet_dialog, null);
WebView web = (WebView) v.findViewById(R.id.web);
EditText edit = (EditText) v.findViewById(R.id.edit);
edit.setFocusable(true);
edit.requestFocus();
web.loadUrl(url);
this.webView = web;
builder.setView(v);
return builder.create();
Run Code Online (Sandbox Code Playgroud)
这就是它的全部内容.这个工作的原因是因为我做了一个EditText我把重点放在了隐形的地方.由于它EditText是不可见的,它不会干扰WebView它,因为它有焦点,它可以适当地拉动软键盘.我希望这有助于陷入类似情况.
| 归档时间: |
|
| 查看次数: |
3691 次 |
| 最近记录: |