2

假设我有这个数据库表:

Name: A,B,C,D

Id:   1,2,3,4

Phone no: 991,928,902,397

我正在使用自动完成文本视图来显示名称。自动完成代码在这里:

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。现在如果我从自动完成文本视图中选择一个名称假设 B。那么 B 的 ID 和电话号码是 2 和 902,我想显示为 2 个文本视图。这里实际上我想显示相对 ID 和电话号码在两个文本视图 t1,t2 中命名。

a1.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                    long arg3) {


 }
        });
4

1 回答 1

0

尝试这个

使用 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();

             }
        });
于 2013-04-08T06:00:52.087 回答