Search code examples
javaandroid-linearlayoutcardview

clickable card view simple without recycler view


I have a fragment and have linear layout that contains 2 simple card views.

How can I make card view clickable cardviews?

I have searched, but all topics are about cardviews in recycler view ... But I have a simple clickable cardview.

public class popFragment extends Fragment {

    public popFragment()
    {
    }

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

        View view= inflater.inflate(R.layout.popfragment,container,false);
        return view;
    }
}

Solution

  • You can simply assign id in your layout xml to each card view. then in oncreateView() of the fragment bind the view and use mycardView.setOnclickListener.... .

        public class popFragment extends Fragment {
    
        private CardView cardView1;
        private CardView cardView2;
    
            public popFragment()
            {
            }
    
            @Override
            public void onCreate(@Nullable Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
            }
    
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    
        View view= inflater.inflate(R.layout.popfragment,container,false);
        cardView1 = view.findViewById(R.id.my_card_view_1);
        cardView2 = view.findViewById(R.id.my_card_view_2);
    
        cardView1.setOnClickListener(v->{
           //set on click functions here
        });
    
        cardView2.setOnClickListener(v->{
           //set on click functions here
        });
    
                return view;
            }
        }
    

    do not forget to assign the corresponding ids in your layout.xml