从数据库中获取值在自动完成textview和显示相对值在textviews



假设我有这个数据库表:

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();
             }
        });

最新更新