android - Arraylist<hashmap<>> 值在 ListView 中重复

标签 android listview arraylist hashmap

我正在尝试使用简单的适配器将 Sqlite 数据库的内容放入 ListView 中。 我正在使用 arraylist> 来获取所有值。它显示在 ListView 上,但每次我运行它时,这些值似乎都会重复。 我应该怎么办? 这是我的代码

             ArrayList<HashMap<String, String>>val=new ArrayList<HashMap<String,String>>();
              Databasehandler db=new Databasehandler(this);

              private ListView lv;
                  protected void onCreate(Bundle savedInstanceState) {
                 super.onCreate(savedInstanceState);
             setContentView(R.layout.contacts);
             val=db.getAllContacts();
                   final ListView lv=(ListView)findViewById(R.id.listView1);


               if(val.size()!=0)
                {
             ListAdapter ad=new SimpleAdapter(Contact.this,val,R.layout.v,new String[]{"contacts"},new int[]{R.id.textView2});

               lv.setAdapter(ad);
           }

最佳答案

只需在 onCreate 方法之前声明 ArrayList,例如...

ArrayList<HashMap<String, String>>val = null;

当你想将检索到的值放入 ArrayList 时,初始化这个 ArrayList ...

val=new ArrayList<HashMap<String,String>>();

关于android - Arraylist<hashmap<>> 值在 ListView 中重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21670271/

相关文章:

java - 用于更新通知 channel 设置的 Android 通知操作

java - 如何使用点幻灯片注册 Activity

Android:如何停止调用 View.OnTouchListener ACTION_MOVE

java - JavaFX ListView 中的 WPF ListView.ItemTemplate 等效项是什么?

Android(列表) View 像 Sense UI 一样过度滚动

java - java.util.Arrays.asList(T...) 是如何工作的?

android - 为什么相同的 layout_weight 导致 Android ImageButton 和 Button 的宽度不同?

asp.net - ListView LayoutTemplate 在为空时不显示 asp.net

android - 如何快速将图像文件路径列表转换为位图列表?

java - ArrayList<ArrayList<Integer>> 的总和?