Jen*_*iza 12 android autocomplete
适配器工作正常,但我不明白为什么OnItemClick中的位置始终为"0"
String[] regions = ct.getRegions();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, regions);
regionT.setAdapter(adapter);
regionT.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// TODO Auto-generated method stub
int pos=position;
}
});
Run Code Online (Sandbox Code Playgroud)
Ita*_*tto 32
不要问我为什么,但position方法中的参数OnItemClickListener.onItemClick保存相对于AutoCompleteTextView下拉列表的索引,而不是适配器数组中的位置(在您的情况下regions)!
因此,要查找项目的真实性,position您必须在下拉列表中选择字符串并在适配器数组中找到它的索引:
String[] regions = ct.getRegions();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, regions);
regionT.setAdapter(adapter);
regionT.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String selected = (String) parent.getItemAtPosition(position);
int pos = Arrays.asList(regions).indexOf(selected);
}
});
Run Code Online (Sandbox Code Playgroud)