Published 2019. 4. 9. 03:04
반응형
안드로이드 리사이클러뷰 아이템 클릭 이벤트
Android RecyclerView Click event
@Override
public void onBindViewHolder(MyViewHolder holder, final int position) {
holder.menu_key.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d("위치확인", "" + mList.get(position).getKey().toString());
Intent intent = new Intent(context, MenuChild.class);
String key = mList.get(position).getKey().toString();
intent.putExtra("key", key);
context.startActivity(intent);
}
});
}
아이템 클릭 이벤트는 리사이클러뷰 아답터의 onBindViewHolder 메소드에서 실행이 되게 하였다.
클릭이벤트는 똑같이 OnClickListener을 통해서 되게 하였다.
어떤 아이템이 클릭이 되는지 확인은 mList.get(position)을 통해서 확인이 가능하였다.
The item click event was executed in the onBindViewHolder method of the Recycle Bin view adaptor.
Click event is done through OnClickListener.
It was possible to check which item was clicked through mList.get (position).
@Override
public Menu_Adapter.MyViewHolder onCreateViewHolder(ViewGroup parent,
int viewType) {
// create a new view
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.menu_item, parent, false);
MyViewHolder viewHolder = new MyViewHolder(view);
context = parent.getContext();
return viewHolder;
}
리사이클러뷰에서는 Context를 사용할 수 없는데 Context를 전역변수로 만든 후
MyViewHolder 메소드에서 context=Viewgroup.getContext();를 정의하면
context를 사용할 수 있다.
Context is not available in the Recycle Bin view, but after making Context a global variable,
In the MyViewHolder method, define context=Viewgroup.getContext();
Context is available.
반응형