Jacob Tabok の投稿を参照して、 OnItemTouchListenerを Fragment の onCreateView に追加しました。
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_recyclerview, container, false);
mRecyclerView = (RecyclerView) view.findViewById(R.id.list_recylclerview);
mRecyclerView.setLayoutManager(new LinearLayoutManager(_context));
mRecyclerView.setItemAnimator(new DefaultItemAnimator());
mRecyclerView.addOnItemTouchListener(
new RecyclerItemClickListener(_context, new RecyclerItemClickListener.OnItemClickListener() {
@Override public void onItemClick(View view, int position) {
logger.i("onitemClick");
}
})
);
提案されたプラクティスを使用して、カードビュー内のどのボタンがクリックされたかを判断する方法がまったくわかりません。問題は、ここに示すように、クリックしたアイテムではなくカードビュー全体が返されることです。
どのボタンがクリックされたかを特定するにはどうすればよいですか? 多くのフラグメント トランザクションを行っているため、この投稿でのビューホルダーの提案は避けたいと思います。