RobertApikyan / SegmentedControl

Android SegmentedControl + multi row support
Apache License 2.0
162 stars 30 forks source link

what is the segment select listener #27

Closed thepolygongo closed 5 years ago

thepolygongo commented 5 years ago

I added this segmentedcontrol on my project. that works well. but onclick listener doesn't work.

    @Override
    public void onClick(View v) {
        if(v.getId() == R.id.segmented_control){
            int position = segmentedControl.getSelectedAbsolutePosition();
            if(position == 0){
                mPostType = "Public";
            }
            else if(position == 1){
                mPostType = "Private";
            }
            else{
                mPostType = "Anonymous";
            }
            onRefresh();
        }
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View view =  inflater.inflate(R.layout.fragment_profile, container, false);
        recyclerView = (RecyclerView) view.findViewById(R.id.my_recycler_view);
        segmentedControl = view.findViewById(R.id.segmented_control);
        segmentedControl.setSelectedSegment(1);
        segmentedControl.setOnClickListener(this);
RobertApikyan commented 5 years ago

For handling clicks on segment use segmentedControl.addOnSegmentClickListener()

 addOnSegmentClickListener(new OnSegmentClickListener<D>() {
            @Override
            public void onSegmentClick(SegmentViewHolder<D> segmentViewHolder) {

            }
        });

And for selection segmentedControl. addOnSegmentSelectListener()

 addOnSegmentSelectListener(new OnSegmentSelectedListener<D>() {
            @Override
            public void onSegmentSelected(SegmentViewHolder<D> segmentViewHolder, boolean isSelected, boolean isReselected) {

            }
        });