假设我有这个数据库表:
Name: A,B,C,D
Id: 1,2,3,4
Phone no: 991,928,902,397
我使用一个自动完成的textview显示的名称。自动完成代码在这里:
final ArrayList<String> s1 = new ArrayList<String>();
for (StudentInfo cn : studentInfo) {
s1.add(cn.getName());
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line,s1);
a1.setThreshold(1);
a1.setAdapter(adapter);
这里a1 is the autocomplete textview
.现在如果我从自动完成textview中选择一个名字,假设B.然后B的Id和电话号码是2和902,我想显示为2文本视图。这里我想在两个textview中显示名字的相对id和电话号码t1,t2。
a1.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
}
});
试试这个
使用HashMap将姓名与学生详细信息进行映射
HashMap<String, StudentInfo> studentdetails=new HashMap<String,StudentInfo>();
for (StudentInfo cn : studentInfo) {
s1.add(cn.getName());
studentdetails.put(cn.getName(),cn);
}
然后onItemClick得到这样的值
a1.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
String studentname=arg0.getItemAtPosition(arg2);
StudentInfo student=studentdetails.get(studentname);
// get values from studen record
String id=student.getId();
String phoneNumber=student.getPhone();
}
});