ウェブビューベースのアプリケーションでテキストタイプの入力要素に文字列を入力すると、仮想キーボードの上に可能な単語のリストが表示されます。webviewアプリケーションで提案リストを定義することはできますか?
私のアプリケーションでは、ユーザーは任意の単語を入力することはできません。代わりに、データベースの単語やフレーズのみが合法です。
私はphonegapアプリケーションから単語のリストを設定し、このリストの自動作成を無効にしたいと思います。
質問:リストを作成することは可能ですか?
(これは、PhoneGapのアプリであり、私は、Android上でテストしていますが、これは、異なるプラットフォーム上のWebView /テキスト入力フィールドに問題がある可能性があります)
EDIT:ちょうど見つけた
(はい、Iアンドロイド開発の新機能)、設定/言語とキーボード/ Androidキーボード/提案の表示を使って、提案リストを無効にすることができます。
もちろん、この設定はアプリ内、アプリ内から、ユーザーの介入なしに、アプリの外では何も変更しないで行う必要があります。
これを行う機会はありますか?
EDIT 2:
提案リストを無効にする代わりに、私はそれを使用しようとしました。 InputMethodManagerのdisplayCompletions方法は有望鳴ったので、私は、次のコードを試みた:(入力が変更され、サーバがリクエストに答えた後に)新しいリストが利用可能であるときはいつでも
...
// data member
InputMethodManager mInputMethodManager = null;
...
...
// initialized
mInputMethodManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
...
public void showSuggestions(String[] words) {
Log.d(TAG, "showSuggestions (in Java!): " + words.length); // yes, this code is executed
CompletionInfo[] completions = new CompletionInfo[words.length];
for (int i=0; i<words.length; i++) {
completions[i] = new CompletionInfo(i, i, words[i]); // no idea, what the 2 extra integers mean
}
mInputMethodManager.displayCompletions(mView, completions);
}
方法が、実行されます。
しかし、何も変わっていません。組み込みの仕組みは依然として不利に働いています。
私はWebViewの中にHTMLの入力フィールドは、AndroidのTextViewウィジェットの方法で構成することができるとは思いません。 2番目:私は気づいていなかった、デフォルトのものよりも別のキーボードがインストールされている可能性がある。しかし、デフォルトのソフトキーボードのみを設定することはOKです。 – Gisela
申し訳ありませんが、これはHTMLページのテキストフィールドであることを忘れていました。したがって、唯一の方法は、入力されたテキストを自分で検証/修正することです.JA – marwinXXII
中途半端な作業です。私はJSで提案リストを実装しました(HTML5データリストはアンドロイドのみで動作していませんか? - webview)。しかし、どのようにデフォルトキーボードが提供する提案リストを無効にすることができますか? – Gisela