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 と電話番号を表示したい2 つのテキストビュー 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 に答える