getText () en AutoCompleteTextView vuelve SpannableStringBuilder?
-
30-09-2019 - |
Pregunta
Tengo una AutoCompleteTextView con un MatrixCursor como un adaptador. El AutoCompleteTextView tiene una OnItemClickListener como sigue:
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());
}
}
Cuando se selecciona un elemento veo siguiente en el registro
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
Si ve el registro, la entrada de registro Before
, la getText()
devuelve un objeto SpannableStringBuilder
y toString()
de que devuelve parte identificador de objeto.
¿Cómo llego texto real de la vista de autocompletar que estaba allí justo antes de hacer clic desplegable artículo?
Solución 2
Bueno, siempre hay otra manera (sucio o mejor) en el código.
He añadido una TextWatcher
a la AutoCompleteView y eventos beforeTextChanged()
utilizado para el contenido de texto de grabación y reutilización que, en onItemClick()
!
Otros consejos
lanzarlo SpannableStringBuilder
a CharSequence