我尝试在 android 中构建自动完成 TextView ,它工作正常,但我的问题是我需要获得一个与所选项目相关的值,我的意思是
我们有学校
abc, bbt, ccce, ddde
abc 有 id = 1,而 number_of_students = 30
bbt 有 id = 2,number_of_students = 20 个学生
ccce 有 id = 3,而 number_of_students = 50 个学生
ddde 有 id = 4,而 number_of_students = 40 个学生
当用户在 TextView 中写入 abc 并选择它时,我需要获取 id 和 number_of_students,不仅是 abc 文本,
我的意思是在 html 中我们有 <option value="1">text<option>
,当选择它时,我们得到一个 1,而不是文本,android 中是否有设置文本的选项,我得到一个值而不是文本
非常感谢。
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, COUNTRIES);
AutoCompleteTextView textView = (AutoCompleteTextView)findViewById(R.id.schoolsAutoComp);
textView.setAdapter(adapter);
textView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View arg1, int pos, long id) {
//pos is the position of the selected item
Toast toast = Toast.makeText(getApplicationContext(), COUNTRIES[pos], Toast.LENGTH_LONG);
toast.show();
}
});
最终解决方案:
textView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View arg1, int pos, long id) {
String selection = (String) parent.getItemAtPosition(pos);
int pos2 = -1;
for (int i = 0; i < COUNTRIES.length; i++) {
if (COUNTRIES[i].equals(selection)) {
pos2 = i;
break;
}
}
System.out.println("Position " + pos2); //check it now in Logcat
}
});
最佳答案
setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View arg1, int pos, long id)
{
//pos is the position of the selected item
}
});
关于android - auto Complete textview 设置隐藏值和可见文本android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28584510/