【发布时间】:2016-02-01 10:09:14
【问题描述】:
我正在使用ArrayAdapter
ArrayAdapter<Product> adapter = new ArrayAdapter<Product>(this,
android.R.layout.simple_list_item_1, items);
listView1.setAdapter(adapter);
问题是当我从listview 中选择第一个项目时,它会自动选择另一个项目。
我没有选择第 12 项
全部代码
final ListView listView1 = (ListView) findViewById(R.id.listView);
Product[] items = {
new Product(1, "Milk", 21.50),
new Product(2, "Butter", 15.99),
new Product(3, "Yogurt", 14.90),
new Product(4, "Toothpaste", 7.99),
new Product(5, "Ice Cream", 10.00),
new Product(6, "Milk", 21.50),
new Product(7, "Butter", 15.99),
new Product(8, "Yogurt", 14.90),
new Product(9, "Toothpaste", 7.99),
new Product(10, "Ice Cream", 10.00),
new Product(11, "Milk", 21.50),
new Product(12, "Butter", 15.99),
new Product(13, "Yogurt", 14.90),
new Product(14, "Toothpaste", 7.99),
new Product(15, "Ice Cream", 10.00),
new Product(16, "Milk", 21.50),
new Product(17, "Butter", 15.99),
new Product(18, "Yogurt", 14.90),
new Product(19, "Toothpaste", 7.99),
new Product(20, "Ice Cream", 10.00),
};
ArrayAdapter<Product> adapter = new ArrayAdapter<Product>(this,
android.R.layout.simple_list_item_1, items);
listView1.setAdapter(adapter);
listView1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String item = ((TextView) view).getText().toString();
view.setSelected(true);
listView1.setItemChecked(position, true);
view.setBackgroundColor(Color.GREEN);
}
});
【问题讨论】:
-
你能发布你的适配器代码
-
查看可重用性。使用
ViewHolder -
尝试改用 parent.setSelection(int position)
-
滚动时会出现这个吗?
-
当我按下时,我看到另一个项目被选中
标签: android listview multiple-select