我的应用程序中有一个AutoCompleteTextView
有效的。我已经成功创建了一个onClickItemListener
. 问题是如何获取用户选择的文本。
事情就是这样:我有一个ArrayList
单词被传递给Adapter
搜索建议。当用户键入一个单词时,建议列表会变短(在 UI 端的行中),所以当我想从ArrayList
用户选择的索引处获取单词时,我得到了错误的单词,因为索引不匹配。
如何获取String
用户选择的文本 ( ) 而不必弄乱索引?
这是我的代码:
public class AutocompleteActivity extends BaseActivity {
private DBManager m_db;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.autocomplete);
m_db = new DBManager(this);
final ArrayList<String> words = m_db.selectAllWords();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.listitem, words);
AutoCompleteTextView tv = (AutoCompleteTextView)findViewById(R.id.autocomplete);
tv.setThreshold(1);
tv.setAdapter(adapter);
tv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
Log.i("SELECTED TEXT WAS------->", words.get(arg2));
}
});
}
}