0

アダプターとして MatrixCursor を使用した AutoCompleteTextView があります。AutoCompleteTextView には、次のような OnItemClickListener があります。

public class AutoCompleteListClickListner implements OnItemClickListener
{
    private AutoCompleteTextView acView;

    public AutoCompleteListClickListner(AutoCompleteTextView view)
    {
        this.acView = view;
    }

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id)
    {
        /* tv is the selected view in the dropdown */
        TextView tv = (TextView) ((LinearLayout) view).getChildAt(0);
        Log.d(AndroidLogTag, "Before:>>>>" + this.acView.getText().toString());
        this.acView.setText(tv.getText().toString());
        Log.d(AndroidLogTag, "After:>>>>" + this.acView.getText().toString());
    }
}

アイテムを選択すると、ログに次のように表示されます

10-14 00:34:37.893: DEBUG/MyApp(19151): Before:>>>>android.database.MatrixCursor@4643e388
10-14 00:34:37.912: DEBUG/MyApp(19151): After:>>>>Ankit V Jain

ログ、Beforeログ エントリが表示された場合、 はオブジェクトをgetText()返し、そのうちのいくつかのオブジェクト識別子を返します。SpannableStringBuildertoString()

ドロップダウン項目をクリックする直前にあったオートコンプリート ビューの実際のテキストを取得するにはどうすればよいですか?

4

2 に答える 2

0

にキャストSpannableStringBuilderしてみてくださいCharSequence

于 2010-10-13T20:09:42.557 に答える
0

コードには常に別の方法 (ダーティまたはベスト) があります。

TextWatcherAutoCompleteViewに を追加し、beforeTextChanged()イベントを使用してテキスト コンテンツを記録し、それをonItemClick()!

于 2010-10-16T08:28:34.403 に答える