【发布时间】:2015-02-22 21:35:13
【问题描述】:
我有麻烦了。
我有一个 HashMap,我需要它成为一个全局变量(可用于多个活动)。这个哈希图有一个联系人列表,其中关键是它的邮件地址......所以我有一对电子邮件地址,完整的联系人数据。这是我的代码:
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。我在这里是个菜鸟。
提前致谢
【问题讨论】:
-
仅供参考:拥有全局 HashMap 是个坏主意。相反,请考虑拥有一个内容提供商。事实上,Android 立即提供了一个开箱即用的 ContactsProviders,这看起来像是您可能想要的。
-
我需要一个自定义的contactoAgenda,我必须将它存储在一个数组中...与contactsProvider 无关...谢谢您的回复...
标签: android eclipse listview hashmap android-arrayadapter