So deaktivieren Sie Tastaturvorschläge in WebView mit Java
Posted: 31 Dec 2024, 14:35
Ich arbeite an einer Android-App, die eine WebView verwendet, um einen benutzerdefinierten Editor anzuzeigen. Ich muss den Tastaturvorschlagsstreifen deaktivieren und zu einer alphanumerischen Tastatur wechseln, ähnlich dem Verhalten des inputType „textVisiblePassword“ eines EditText in XML. Ich habe die folgenden Ansätze ohne Erfolg ausprobiert:
Trotz dieser Bemühungen wird die Tastaturvorschlagsleiste immer noch angezeigt und die Tastatur wechselt nicht in den alphanumerischen Modus.
Mein Ziel ist es, das zu verwenden textVisiblePassword-Funktion, die wir normalerweise in Android XML EditText für WebView haben, wenn Textfelder wie contenteditables fokussiert sind.
- Attribute für Rechtschreibprüfung, automatische Vervollständigung und automatische Korrektur auf „false“ setzen über JavaScript.
- Verwendung einer JavaScript-Schnittstelle zur Steuerung des Tastaturverhaltens, wenn Boolean fokussiert ist.
Code: Select all
webView.addJavascriptInterface(new Object() {
@JavascriptInterface
public void onMessage(String message) {
try {
JSONObject jsonObject = new JSONObject(message);
boolean focused = jsonObject.getBoolean("focused");
if (focused) {
// Set the input type to visible password
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(webView, InputMethodManager.SHOW_IMPLICIT);
webView.postDelayed(() -> {
webView.evaluateJavascript("document.activeElement.setAttribute('type', 'text');", null);
}, 100);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, "Android");
Mein Ziel ist es, das zu verwenden textVisiblePassword-Funktion, die wir normalerweise in Android XML EditText für WebView haben, wenn Textfelder wie contenteditables fokussiert sind.