3
我有一個奇怪的情況,我使用webview打開了一個表單頁面,它允許用戶在其中輸入一些信息。當我在三星等設備上嘗試它時,它可以正常工作,但是當我在其他設備(如xiaomi,asus等)中嘗試它時,它不起作用。鍵盤彈出,但是當我輸入它時,頁面中的文本框就失去了焦點。我找到了一個使用這段代碼的工作,但是有一個缺點,每當我觸摸屏幕時,三星的webview總是回到頂部(但在小米等工作正常)。有什麼辦法可以使它們適用於它們兩個?Android WebView無法從某些設備的鍵盤接收輸入
mPaymentWebView.getSettings().setJavaScriptEnabled(true);
mPaymentWebView.getSettings().setUseWideViewPort(true);
mPaymentWebView.requestFocus(View.FOCUS_DOWN);
mPaymentWebView.requestFocusFromTouch();
mPaymentWebView.requestDisallowInterceptTouchEvent(true);
mPaymentWebView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent event) {
Log.d("test keyboard","in");
mPaymentWebView.requestFocusFromTouch(); //this makes it work
return false;
}
});
,這是我用過的所有回答這個問題的XML
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<WebView
android:id="@+id/web_view_payment"
android:focusableInTouchMode="true"
android:windowSoftInputMode="adjustResize"
android:layout_width="match_parent"
android:layout_height="match_parent">
</WebView>
<ProgressBar
style="?android:attr/progressBarStyleHorizontal"
android:id="@+id/progress_bar_webview"
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_alignParentBottom="true"
android:progress="5"
android:max="100"
android:progressDrawable="@drawable/progress_bar" />
</FrameLayout>
但他們沒有正常工作 Why is Android WebView refusing user input?
的可能重複[爲什麼就是Android的WebView拒絕用戶輸入?(http://stackoverflow.com/所以卸載更新問題/ 2083909/why-is-android-webview-refusing-user-input) – Gattsu
@maveň我已經使用了所有的答案,但正如我所說的,他們都沒有適用於所有的Android設備 – stephen1706