그래서 다중 선택 모드 수신기를 구현하는 GridView가 있고 사용자가 항목을 두 드릴 때마다 배경 이미지가 변경됩니다. 길게 탭하면 다중 선택 도구 모음이 나타납니다.getView() 메서드의 onClickListener가 MultiChoiceModeListener()를 뒤집습니다.
그러나 나는 getView()에서 클릭 리스너를 사용했기 때문에 어떻게 든 다른 것을 차단합니다.
는
어떤 조언 (나는의 getView (에서 리스너를 제거하는 경우), 다른 하나는 잘 작동)?
MultiChoiceListener :
gView.setChoiceMode(GridView.CHOICE_MODE_MULTIPLE_MODAL);
checkedPos = new SparseBooleanArray();
gView.setMultiChoiceModeListener(new GridView.MultiChoiceModeListener() {
@Override
public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {
currentArray = gView.getCheckedItemPositions();
int itemCount = gView.getCheckedItemCount();
switch (itemCount){
case 1:
mode.setSubtitle("One item selected.");
break;
default:
mode.setSubtitle(itemCount + " items selected.");
break;
}
...
의 getView() :
convertView.setLongClickable(true);
final Holder finalHolder = holder;
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(!pressed) {
finalHolder.img.setBackground(ContextCompat.getDrawable(context, R.drawable.ic_pause_bg));
pressed = true;
}
else{
finalHolder.img.setBackground(ContextCompat.getDrawable(context, R.drawable.ic_noise_bg));
pressed = false;
}
}
});
이 시간 내 주셔서 감사
여기 내 코드입니다!