繁体   English   中英

ListView,防止添加新项目

[英]ListView, prevent adding new items

我有我的listview活动,效果很好,但是我有一个烦人的问题。 无论何时恢复,它都会在列表中添加相同的项,并且ist会变大。 我只希望它保持我最初输入的值。 我怎样才能做到这一点? 这是我的活动

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.custom_list_view);

         adapter = new SimpleAdapter(
                this,
                list,
                R.layout.custom_row_view,
                new String[] {"pen","price","color"},
                new int[] {R.id.text1,R.id.text2, R.id.text3}
                );


        populateList();
        setListAdapter(adapter);
    }

这是我的arrayList:

static final ArrayList<LinkedHashMap<String,String>> list = 
        new ArrayList<LinkedHashMap<String,String>>(); 

    private void populateList() {
        LinkedHashMap<String,String> temp = new LinkedHashMap<String,String>();
        temp.put("pen","                             Mission name");    
        list.add(temp);
        LinkedHashMap<String,String> temp1 = new LinkedHashMap<String,String>();
        temp1.put("pen","                            Map activity");        

        list.add(temp1);
        LinkedHashMap<String,String> temp2 = new LinkedHashMap<String,String>();
        temp2.put("pen","                            Check sensors");       
        list.add(temp2);

        LinkedHashMap<String,String> temp3 = new LinkedHashMap<String,String>();
        temp3.put("pen","                            Infrared Image");
        list.add(temp3);

        LinkedHashMap<String,String> temp4 = new LinkedHashMap<String,String>();
        temp4.put("pen","                            Radar Image");
        list.add(temp4);

        LinkedHashMap<String,String> temp5 = new LinkedHashMap<String,String>();
        temp5.put("pen","                            Visual image");
        list.add(temp5);

        LinkedHashMap<String,String> temp6 = new LinkedHashMap<String,String>();
        temp6.put("pen","                            suscribe to Viewer");
        list.add(temp6);
    }

不要将列表声明为静态。 即:

final ArrayList<LinkedHashMap<String,String>> list = new ArrayList<LinkedHashMap<String,String>>(); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM