【发布时间】:2016-01-21 01:33:56
【问题描述】:
假设我有一个名为 listitem 的数组列表,每次单击 GridView 时它都会更新。
它获取被单击的GridView 的项目并将其添加到数组列表中,该列表也用作ListView 的适配器的后备数组。
这工作正常,但不是将相同的行添加到ListView,我想在单击两次时显示类似item_clicked (2) 的消息,
如果再次点击它会显示item_clicked (3)等等。
我试图用这段代码来解决这个问题:
public void addItems(int position) {
if (listItems.contains(value.get(position))) {
int index = listItems.indexOf(value.get(position));
listItems.set(index,value.get(position)); <- here
} else {
listItems.add(value.get(position));
adapter.notifyDataSetChanged();
}
}
position 是GridView 的索引,values 是GridView 值的数组。
这是我的GridView 代码:
int index = 0;
while (rs.next()) {
value.add("ID :" + rs.getString(1) + " Nombre:" + rs.getString(3));
list2.add(values.get(index));
index++;
Log.w("query result: ", rs.getString(1));
}
ArrayAdapter adapter = new ArrayAdapter(papeleta_act.this, R.layout.list_item, list2);
grid.setAdapter(adapter);
grid.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
addItems(position);
}
});
} catch (Exception e) {
Log.w("My error;", e);
}
}
我将不胜感激有关如何处理此问题的任何想法。 提前致谢!
【问题讨论】:
标签: android arraylist android-listview android-gridview