2012-04-27 7 views
2

ウェブビューベースのアプリケーションでテキストタイプの入力要素に文字列を入力すると、仮想キーボードの上に可能な単語のリストが表示されます。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); 
} 

方法が、実行されます。

しかし、何も変わっていません。組み込みの仕組みは依然として不利に働いています。

答えて

0

仮想キーボード(swypeなど)のバリエーションが異なる場合、考えられる単語のリストがない可能性があります。ですから、このリストを表示しないという一般的な解決法はないと思います。

ありパラメータを定義http://developer.android.com/reference/android/widget/TextView.html#attr_android:editorExtras editorExtrasは、入力メソッドの実装に渡されたパラメータがあるが、私はあなたがPhoneGapのアプリケーションでそれを使用するかどうかはわかりません

編集:

私はあなたが拡張できると仮定デフォルトの入力方法と、それは提案を表示しないようにする inputmethod参照カスタムソフトウェアKeyboarを提供http://developer.android.com/reference/android/inputmethodservice/InputMethodService.html

DS

独自のソフトウェアキーボードの開発に興味があるなら、我々は非常に次の参照をお勧めします。

のIMEは、Androidのサービスとして実装されています。アンドロイド.inputmethodserviceとandroid.view.inputmethodというAndroidパッケージを見直し、カスタム入力メソッドの実装に使用できます。 Android SDKのSoftKeyboardサンプルアプリケーションは、ソフトウェアキーボードの実装を提供します。 Androidデベロッパーの技術的な記事です。画面上の入力方法と入力方法の作成に関する記事です。

は、ここであなたはjQueryのUIの自動補完のようなものを使用していないのはなぜhttp://e-university.wisdomjobs.com/android/chapter-946-288/handling-advanced-user-input.html

+0

私はWebViewの中にHTMLの入力フィールドは、AndroidのTextViewウィジェットの方法で構成することができるとは思いません。 2番目:私は気づいていなかった、デフォルトのものよりも別のキーボードがインストールされている可能性がある。しかし、デフォルトのソフトキーボードのみを設定することはOKです。 – Gisela

+0

申し訳ありませんが、これはHTMLページのテキストフィールドであることを忘れていました。したがって、唯一の方法は、入力されたテキストを自分で検証/修正することです.JA – marwinXXII

+0

中途半端な作業です。私はJSで提案リストを実装しました(HTML5データリストはアンドロイドのみで動作していませんか? - webview)。しかし、どのようにデフォルトキーボードが提供する提案リストを無効にすることができますか? – Gisela

0

をそれを見つけました。

http://jqueryui.com/demos/autocomplete/

また、JavaScriptで自分自身をこれをかき立てるにはあまりにも難しいことではありません。

http://www.javascript-examples.com/autocomplete-demo/

+0

はい、それは可能です。実際に私はこれを既にやった。残っている問題は、画面上の貴重なスペースを腰掛け、ユーザーに間違った選択肢を与えて、役に立たない提案のリストがまだ残っていることです。 – Gisela

関連する問題