getText () su AutoCompleteTextView ritorna SpannableStringBuilder?
-
30-09-2019 - |
Domanda
Ho un AutoCompleteTextView con un MatrixCursor come un adattatore. L'AutoCompleteTextView ha un'OnItemClickListener come segue:
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());
}
}
Quando si seleziona un elemento che vedo seguente nel 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
Se si vede il registro, la voce di registro Before
, il getText()
restituisce un oggetto SpannableStringBuilder
e toString()
di restituisce un po 'di identificatore di oggetto.
Come faccio ad avere il testo vero e proprio della visione di completamento automatico che era lì solo prima di fare clic discesa articolo?
Soluzione 2
Beh, c'è sempre un altro modo (sporco o migliore) nel codice.
ho aggiunto un TextWatcher
al AutoCompleteView e l'evento beforeTextChanged()
utilizzato per registrare il contenuto del testo e il riutilizzo che nel onItemClick()
!
Altri suggerimenti
Prova a trasmettere SpannableStringBuilder
a CharSequence