повторяющийся ListView - PullRequest
0 голосов
/ 22 июля 2011

Эй, ребята, я работаю над отображением списка элементов на listview, код, который я использую, -

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.custom_list_view);
        ListView lv= (ListView)findViewById(R.id.listview);
        rtrnList = new ArrayList<HashMap<String,String>>();
        getmyLocation();
        listclass = new listClass(offersobj);
        listclass.populate();
        rtrnList = listclass.getListArray();
        adapter = new SimpleAdapter(
                this,
                rtrnList,
                R.layout.custom_row_view,
                new String[] {"Name","Msg","time"},
                new int[] {R.id.text1,R.id.text2, R.id.text3}
                );

        lv.setAdapter(adapter);
    }

Проблема в том, что я показываю три имени: Авинаш, Арун, Раджеш. При запуске приложения эти три имени отображаются в списке. Когда я закрываю и снова запускаю приложение, значения повторяют Avinash, Arun, Rajesh, Avinash, Arun, Rajesh. Я не могу понять, как решить эту проблему.

Ответы [ 2 ]

1 голос
/ 22 июля 2011

Код, который вы показываете, выглядит нормально. Я предполагаю, что listclass.populate() изменяет offersobj и что offersobj повторно используется для нескольких созданий вашей деятельности. Таким образом, при создании операции дополнительные данные заполняются.

0 голосов
/ 22 июля 2011
public class ListViewA extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ListView lv= (ListView)findViewById(R.id.listview);

        // create the grid item mapping
        String[] from = new String[] {"rowid", "col_1", "col_2", "col_3"};
        int[] to = new int[] { R.id.item1, R.id.item2, R.id.item3, R.id.item4 };

        // prepare the list of all records
        List<HashMap<String, String>> fillMaps = new ArrayList<HashMap<String, String>>();
        for(int i = 0; i < 10; i++){
            HashMap<String, String> map = new HashMap<String, String>();
            map.put("rowid", "" + i);
            map.put("col_1", "col_1_item_" + i);
            map.put("col_2", "col_2_item_" + i);
            map.put("col_3", "col_3_item_" + i);
            fillMaps.add(map);
        }

        // fill in the grid_item layout
        SimpleAdapter adapter = new SimpleAdapter(this, fillMaps, R.layout.grid_item, from, to);
        lv.setAdapter(adapter);
    }
}

для дополнительного примера см. Эту ссылку
это также
просмотр списка адаптеров, для создания хэш-карты, почему импортированный растровый тип не может отображатьсяизображение в виде списка?
Какой адаптер использовать для использования HashMap в ListView

...