我的問題是,當我檢查Checkbox
它轉向檢查,但它複製檢查狀態爲下一個ListView
項目不在可見列表中(例如,當我可以看到位置0-5/6在一個屏幕上它是元件上的位置7-8)...ListView複選框簽發後
這是我的onClick方法:
viewHolder.messageSelectBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (viewHolder.messageSelectBox.isChecked()) {
Log.i("itemID", String.valueOf(getItemId(position)));
Log.i("position", String.valueOf(position));
mListOfItemsToDelete.add(position);
Collections.sort(mListOfItemsToDelete);
Collections.reverse(mListOfItemsToDelete);
} else {
for (int i = 0; i < mListOfItemsToDelete.size(); i++) {
int pos = mListOfItemsToDelete.get(i);
if (pos == position) {
mListOfItemsToDelete.remove(i);
}
}
}
}
});
setOnClickListener
是在ListView的適配器getView()
...
getView()
實現方法具d:
final ViewHolder viewHolder;
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.messages_list_view_single, parent, false);
}
viewHolder = new ViewHolder(convertView);
viewHolder.messageSelectBox = (CheckBox) convertView.findViewById(R.id.messageSelectBox);
所以,大家好,你知道什麼是錯的嗎?
完美的作品!我已經開始從教程創建一個新的ListView ...感謝您的幫助:) – y07k2