我如何获得自动完成选择的对象的绝对位置。当我使用 arg2 检索自动完成下拉列表中的相对位置。我想要所选对象在我的原始列表中的位置。
我的代码:
AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete_friends);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, friendsListNameOrder);
textView.setAdapter(adapter);
textView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
friendsListNameOrder.get(arg2);
}
最佳答案
可能没有你希望的那么优雅:
final String[] COUNTRIES = new String[] { "Belgium", "France", "Italy",
"Germany", "Spain" };
final AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.AutoCompleteTextView01);
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
R.layout.log_item, COUNTRIES);
textView.setAdapter(adapter);
textView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
String s = ((TextView) arg1).getText().toString();
Log.e("Test", s + " position: "
+ getArrayIndex(COUNTRIES, s));
}
});
其中 getArrayIndex 是:
public final int getArrayIndex(String[] myArray, String myObject) {
int ArraySize = Array.getLength(myArray);// get the size of the array
for (int i = 0; i < ArraySize; i++) {
if (myArray[i].equals(myObject)) {
return (i);
}
}
return (-1);// didn't find what I was looking for
}
关于android - 自动完成机器人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5601759/