我在我的应用程序中有一个AutoCompleteTextView工作。我已经成功创建了一个onClickItemListener。问题是如何抓住用户选择的文本。这是事情:我有一个ArrayList的单词传递给适配器搜索建议。当用户键入一个单词时,建议列表变得更短(在UI侧的行中),所以当我想从用户选择的索引处的ArrayList中获取单词时,我得到错误的单词,因为索引不匹配。我怎样才能得到用户选择的文本(字符串),而不必乱搞索引?这里是我的代码:如何从自动完成textview中获取文本android
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));
}
});
}
}
感谢您添加此代码段,它帮助我花了将近6个小时的时间。 +1代表 – Android 2012-03-09 11:07:53
代码工作。对于像我这样的初学者来说,小贴士粘贴此代码后,单击该字段并键入一个字母以查看建议框下来。我确实粘贴了代码,点击提交的内容,并等待POPUP的建议框,它永远不会打开。但是有showDialogBox()方法来显示POPUP。 – Pravin 2017-03-03 05:47:11