ListView에서 KeyUp과 비슷한 이벤트 구현하는 방법
조회수 568회
ListView의 첫번째 Item에 Click Event를 KeyUp,Down 형식으로 만들 수는 없나요?
누르고 있는 동안에는 이런 이벤트, 그리고 손을 땟을때는 이런 이벤트
뭐 이런식으루요..
OnKey가 있길래 사용해보려고 봣는데
이건 리스트 뷰 전체에 포함인건지.. 제가 뭘 잘못한건지
잘안되더라구요..ㅠ
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
어댑터의 뷰 홀더에서 원하시는 리스너, 예를 들어 View.OnKeyListner 인터페이스를 구현 하신다음에 해당 view 에 리스너를 설정해주시면 됩니다.
class ItemViewHolder extends RecyclerView.ViewHolder implements View.OnKeyListener { private TextView mTableNumber; ItemViewHolder(@NonNull View itemView) { super(itemView); itemView.setOnKeyListener(this); mTableNumber = itemView.findViewById(R.id.text_table_check_table_no); } void bindViewHolder(TableCheck item) { String newline = ""; StringBuilder sb = new StringBuilder(); for(TableItem tableItem : item.getTableItemList()) { sb.append(newline).append('·').append(tableItem.getItemName()); newline = "\n"; } mTableNumber.setText(String.valueOf(item.getTableNo())); } @Override public boolean onKey(View v, int keyCode, KeyEvent event) { return false; } }
첫번째 아이템에만 리스너를 달고 싶다고 하셨는데 어댑터에서 뷰 홀더를 바인드 할 떄 포지션까지 파라미터로 전달해서, 뷰 홀더에 포지션 변수를 넣고 조건문으로 처리하면 될 것 같습니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력