从自动填充文本视图中的数据库中获取值,并在textviews中显示相对值

时间:2013-04-08 04:48:46

标签: android

假设我有这个数据库表:

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.然后,我的ID和电话号码是2和902,我想显示为2文本视图。实际上我想要显示两个textview t1,t2中的相对id和电话号码。

a1.setOnItemClickListener(new OnItemClickListener() {

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


 }
        });

1 个答案:

答案 0 :(得分: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();

             }
        });