0

我是 android 新手。我将联系人读取为存储在 csv 文件中的姓名和电话号码数据,并将名称存储在地图界面中,名称作为键,电话号码作为值。我需要将我的哈希映射键、值数据添加到列表视图并将其显示在屏幕上供用户可见这里我的代码是 Map maps = new HashMap();

        br = new BufferedReader(new FileReader(filename));
        while ((line = br.readLine()) != null) {

            // use comma as separator
            String[] contact = line.split(cvsSplitBy);
                       // contact[0]- name as key and contact[1]-phoneno as value
            maps.put(contact[0], contact[1]);

        }

从那如何将这些键值对添加到列表视图中

4

1 回答 1

0

你必须使用适配器。阅读有关 android 适配器的信息。

你可以看看这个基本的例子。'list_item' 是列表项的布局。为了获得更好的性能,请使用持有人(阅读相关内容)。

创建此适配器后,您必须在 ListView 中设置它。listView.setAdapter(myAdapter);

public class Contact{
              String name;
              String phoneNumber;
        }

       public class MyAdapter extends ArrayAdapter<Contact> {
           private List<Contact> objects;

           public MyAdapter(Context context, List<Contact> objects){
           super(context,R.layout.list_item, objects);
           this.objects = objects;

       }
        @Override
        public View getView(int position, View view, ViewGroup parent) {
                  if (view == null) {
                LayoutInflater vi = (LayoutInflater)     context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                view = vi.inflate(R.layout.list_item, null);
            }

                     TextView name = (TextView) view.findViewById(R.id.name);

                     TextView phoneNumber= (TextView) view.findViewById(R.id.sound_label);

                     name.setText(objects.get(position).name);
                     phoneNumber.setText(objects.get(position).phoneNumer);
                     return view;
            }
        }
于 2013-06-04T07:18:16.267 回答