본문 바로가기
Android

recyclerView에 contextMenu 사용하기

by 루에 2015. 6. 2.
반응형

listView의 경우는 listView 자체를 contextMenu로 등록했으나 recyclerView에는 불가능하다. 왜냐하면 recyclerView가 View.ViewGroup을 상속받은 것이기 때문이다. 이 때문에 recyclerView 자체에는 등록이 불가능하고, adapter안에 itemView에 등록하면 이상한 현상을 경험하게 된다. 때문에, contextMenu를 등록하기 위해서는 recyclerView의 Holder 내의 view에 등록하는 방법을 사용하면 된다.


예시)

public static class ViewHolder extends RecyclerView.ViewHolder implements OnCreateContextMenuListener {
TextView tvTitle;
ImageView ivImage;
    public ViewHolder(View v) {
        super(v);
        tvTitle =(TextView)v.findViewById(R.id.item_title);
        v.setOnCreateContextMenuListener(this);


    }

Now we follow the same procedure while implements the context menu.

@Override
    public void onCreateContextMenu(ContextMenu menu, View v,
            ContextMenuInfo menuInfo) {

        menu.setHeaderTitle("Select The Action");    
        menu.add(0, v.getId(), 0, "Call");//groupId, itemId, order, title   
        menu.add(0, v.getId(), 0, "SMS"); 

    }


참조1

반응형

댓글