質問

アダプターとして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() 返品a SpannableStringBuilder オブジェクトと toString() そのうちのオブジェクト識別子を返します。

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

役に立ちましたか?

解決 2

まあ、コードには常に別の方法(汚いまたは最高)があります。

Aを追加しました TextWatcher AutoCompleTeviewに使用されます beforeTextChanged() テキストコンテンツを記録し、それを再利用するイベント onItemClick() !

他のヒント

キャストしてみてください SpannableStringBuilderCharSequence

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top