显示包含Hashmap数据的列表视图

时间:2014-12-24 21:49:36

标签: android eclipse listview hashmap android-arrayadapter

我陷入困境。

我有一个HashMap我需要成为一个全局变量(可以访问多个活动)。这个hashmap有一个联系人列表,其中key是它的邮件地址......所以我有成对的电子邮件地址,完整的联系人数据。这是我的代码:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    miAgenda= new HashMap<String, contactoAgenda>();
    contactoAgenda Eduardo = new contactoAgenda("Eduardo", "c/ Segovia","973", "edufissure@msn.com",true, true, false, false, true,"Laboral");
    miAgenda.put(Eduardo.getMail(),Eduardo);

    contactoAgenda Daniel= new contactoAgenda("Daniel", "c/ Diego Madrazo","92458", "dani@msn.com",true, true, false, false, true,"Familia");
    miAgenda.put(Daniel.getMail(),Daniel);

    contactoAgenda Belen= new contactoAgenda("Belen", "c/ Diego Madrazo","92458", "belen@gmail.com",true, true, false, false, true,"Familia");
    miAgenda.put(Belen.getMail(),Belen);


      Toast.makeText(getApplicationContext(), "hola"+miAgenda.size()+"\n" , Toast.LENGTH_LONG).show();

      ListView lista=(ListView) findViewById(R.id.listaContactos);
         ArrayAdapter<contactoAgenda> adaptador = new ArrayAdapter<contactoAgenda>(this,R.id.editText1, (List<contactoAgenda>) miAgenda.get(contactoAgenda);
         lista.setAdapter(adaptador);

麻烦的是我需要显示所有联系人的ListView列表...而且我不得不制作适配器....我无法找到任何与对象字段所做的Hashmap类似的示例( contactoAgenda的邮件,以及所有文件的所有contactoagenda自己的对象...

任何帮助都会被贬低。我正在使用api 15.在这里我是一个noobie。

提前致谢

1 个答案:

答案 0 :(得分:0)

您只需将Map转换为ArrayList

即可
ArrayAdapter<contactoAgenda> adaptador = new ArrayAdapter<contactoAgenda>(this,R.id.editText1, miAgenda.values();

注意,ArrayAdapter将不知道如何正确显示contactoAgenda类类型。您可以覆盖它的toString()方法,该方法将控制它在屏幕上的显示方式。更合适的方法是使用可以处理getView()类类型的contactoAgenda实现来实现自定义适配器。