如何从我从AutoCompleteTextview中选择的列表中获取项目的位置?
autoSearch = (AutoCompleteTextView) findViewById(R.id.autoSearch);
autoSearch.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
}
});
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, mLIST);
autoSearch.setAdapter(adapter);
使用变量arg2只能获取自动完成列表的位置,而不是我的mLIST上项目的实际位置。
有没有办法获得实际位置而不是自动完成位置?
答案 0 :(得分:2)
我不太确定这是一种直接的方式,但是知道列表中的所选项目,您可以使用列表中的mLIST
方法在indexOf()
中了解其位置。
假设每个项目都是唯一的,如果没有,这将无效。
答案 1 :(得分:2)
这是快速解决方案,imho非常懒,但它的工作原理。我假设你有独特的话,不是吗?否则你需要make customadapter并使用setTag()作为项目。
autoSearch.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
Log.d("xxx", "xxx");
String text = ((TextView) arg1).getText().toString();
for(int i=0;i<mLIST.size();i++)
{
if(mLIST.get(i).contains(text))
{
int lookingForId = i;
Log.d("xxx", "looking for id is " + i);
break;
}
}
}
});