AutoCompleTeTextViewを使用したテキストへのカスタムカーソル
-
11-10-2019 - |
質問
AutoCompleTeTextViewを拡張してカスタムビューを作成しました(SetCursorAdapterと呼ばれる特殊な機能を使用)。 SimpleCursorAdapterを提供し、FilterQueryProviderを追加しています。私はこれを使用して、一致の数字内のどこかで検索する機能が必要な数字のリストに使用しています。
public void setCursorAdapter(final Uri uri, final String key) {
Cursor c = getContext().getContentResolver().query(uri,
new String[] { "_id", key }, null, null, key);
SimpleCursorAdapter adapter = new SimpleCursorAdapter(getContext(),
android.R.layout.simple_dropdown_item_1line, c,
new String[] { key }, new int[] { android.R.id.text1 });
this.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
((SimpleCursorAdapter) getAdapter()).getFilterQueryProvider()
.runQuery(s);
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
adapter.setFilterQueryProvider(new FilterQueryProvider() {
@Override
public Cursor runQuery(CharSequence constraint) {
Cursor c = getContext().getContentResolver().query(uri,
new String[] { "_id", key },
key + " LIKE '%" + constraint + "%'", null, key);
return c;
}
});
setAdapter(adapter);
}
ドロップダウンから値を選択するまで、すべてが完全に機能しています。 Edittextウィンドウで受け取る値:android.content.contentResolver $ cursorwrapperinner@...
これを回避し、(数値)テキストを正しく表示するにはどうすればよいですか。
ありがとう
解決
解決済み:SimpleCursorAdapter.ConvertoString(カーソル) - この関数を覆して値を抽出しました。
ありがとう
他のヒント
所属していません StackOverflow