1

私は、テキストボックスでの使用ではなく、検索結果をよりカスタマイズする方法という点で、ブラックベリー開発の初心者です。

ユーザーがテキストフィールドに文字を入力すると、一致するコンテンツがリストの下に表示される、Blackberryアプリケーションに動的検索機能を実装したいと思います。

ここで私はそれを達成しましたが、私が欲しいのはテキストフィールドだけが表示されるべきであり、KeywordFilterFieldに付属する組み込みのリストフィールドではありません。

テキストが変更されると、Fieldchanged()イベントでコーディングしたため、カスタムリストが自動的に入力されますが、不要な組み込みリストも表示されます。ここに画像の説明を入力してください]![ここに画像の説明を入力してください

画像でわかるように、テキストフィールドが必要ですが、デフォルトのリストフィールドは必要ありません。CustomListField(問題なく正常に機能しています)が必要です。

4

1 に答える 1

1

解決策または私たちが言うことができるトリックを手に入れました。

まず、KeywordFilterFieldをアプリケーションノートに実装する必要があります。これは、KeywordFilterfieldの機能を使用する画面に追加してはならないことに注意してください。

次に、FieldChanged()イベントでTextFieldを画面に追加する必要があります。これは、KeywordFilterFieldのキーワードを設定するだけです。次のように。

   public void fieldChanged(Field field, int context) {
        // TODO Auto-generated method stub

        SearchTextBox temp=(SearchTextBox)field;
        _keywordFilterField.setKeyword(temp.getText());
    }

キーワードを設定すると、KeywordFilterFieldの変更リスナーが起動されるので、次のようにカスタムリストフィールドを表示するコードを記述できます。

_keywordFilterField.setChangeListener(new FieldChangeListener(){

    public void fieldChanged(Field field, int context) {

        KeywordFilterField k=(KeywordFilterField)field;

        //Use k.getResultList(); method to fetch the resulting elements.

        //Write the code here for custom list to display.   
        }

});

于 2012-09-13T08:55:20.863 に答える