2

提案語のデータベースを作成しました
が、Androidソフトキーボードの例のどこに配置し、プログラムでdbの単語を使用する方法を教えてください。単語を完全に入力する必要がないように、データベースに提案単語が表示されます

4

3 に答える 3

1

SDK 内の Samples フォルダーを確認してください。これには、ソフト キーボードの例と、結果を提案する方法に関する詳細情報が含まれています。

于 2013-01-18T05:37:19.553 に答える
0

.db から提案語を取得するには、 SQLiteOpenHelperまたはSQLiteAssetsHelperを使用してください

候補ビューに提案語を表示するには、Google SoftKeyboard サンプル プロジェクトの SoftKeyboard.java ファイルの updateCandidates() メソッドを変更してください。

/**
 * Update the list of available candidates from the current composing
 * text.  This will need to be filled in by however you are determining
 * candidates.
 */
private void updateCandidates() {
    if (!mCompletionOn) {
        // mComposing is current text you typed.
        if (mComposing.length() > 0) {
            // Get suggested words list from your database here.
            ArrayList<String> list = new ArrayList<String>();
            list.add(mComposing.toString());

            // This method will show the list as suggestion. 
            setSuggestions(list, true, true);
        } else {
            setSuggestions(null, false, false);
        }
    }
}

候補ビューから選択した単語を入力テキストに入力するには、SoftKeyboard サンプル プロジェクトの次のメソッドを変更してください。

public void pickSuggestionManually(int index) {
    if (mCompletionOn && mCompletions != null && index >= 0
            && index < mCompletions.length) {
        CompletionInfo ci = mCompletions[index];
        getCurrentInputConnection().commitCompletion(ci);
        if (mCandidateView != null) {
            mCandidateView.clear();
        }
        updateShiftKeyState(getCurrentInputEditorInfo());
    } else if (mComposing.length() > 0) {
        // If we were generating candidate suggestions for the current
        // text, we would commit one of them here.  But for this sample,
        // we will just commit the current text.
        commitTyped(getCurrentInputConnection());
        // You need to add getter method for suggested words shown in candidate view
    }
}
于 2015-01-22T06:44:11.337 に答える