본문 바로가기

안드로이드

[안드로이드]RecylerView의 list 클릭시 dialog창 띄우기

반응형

recyclerview는 Listview에서처럼 setOnItemClickListener 와 같은 기능을 지원하지 않는다고 합니다 .

그래서 RecyclerView에서 onBindViewHolder해줄 때에 각각의 아이템에 OnClickListener를 만들어 접근을 하였습니다. 해당 리스트의 이미지를 클릭시에 다이얼로그 창을 띄우는 것을 해보았는데 , 이렇게 아래처럼 적으니 처음에는 에러가 났습니다 . ㅜㅜ 



AlertDialog.Builder builder = new AlertDialog.Builder("메인액티비티.this");




 





나는 현재 adapter.java에서 소스작성을 하고 mainactivity에서 다이얼로그를 띄워야 하는 상황이므로 메인액티비티.this를 불러야 합니다 .


참고로 .class 를 적는경우는 class 전체가 필요할때 , intent와 같은 기능을 사용할때 주로 사용 한다고 합니다 .


메인엑티비티.this만 적으면 adapter.java 와 메인엑티비티의 연결 고리가 없기때문에 에러가 납니다.


즉, adpter class의 생성자에서 mainActiciy의 this를 가져와야하므로










끋.. 원래는 보통 어뎁터에서는 관리만 하고 기능 구현은 다른클래스만들어서 하는게 더 좋다고 한다.. 그래서 그다음장에서 소스정리를 다시한번 하겟다



반응형