Swipe ListView item From right to left show delete button

后端 未结 11 802
轻奢々
轻奢々 2020-12-07 09:15

I have a custom ListView showing the list of words selecting from database. When I swipe this listview item i want to show Delete button like image below. And when I press t

11条回答
  •  庸人自扰
    2020-12-07 09:42

    Define a ViewPager in your layout .xml:

    
    

    And then, in your activity / fragment, set a custom pager adapter:

    In an activity:

    protected void onCreate(Bundle savedInstanceState) {
        PagerAdapter adapter = new PagerAdapter(getSupportFragmentManager());
        ViewPager pager = (ViewPager) findViewById(R.id.example_pager);
    
        pager.setAdapter(adapter);
        // pager.setOnPageChangeListener(this); // You can set a page listener here
        pager.setCurrentItem(0);
    }
    

    In a fragment:

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_layout, container, false);
    
        if (view != null) {
            PagerAdapter adapter = new PagerAdapter(getSupportFragmentManager());
            ViewPager pager = (ViewPager) view.findViewById(R.id.example_pager);
    
            pager.setAdapter(adapter);
            // pager.setOnPageChangeListener(this); // You can set a page listener here
            pager.setCurrentItem(0);
        }
    
        return view;
    }
    

    Create our custom pager class:

    // setup your PagerAdapter which extends FragmentPagerAdapter
    class PagerAdapter extends FragmentPagerAdapter {
        public static final int NUM_PAGES = 2;
        private CustomFragment[] mFragments = new CustomFragment[NUM_PAGES];
        public PagerAdapter(FragmentManager fragmentManager) {
            super(fragmentManager);
        }
        @ Override
        public int getCount() {
            return NUM_PAGES;
        }
        @ Override
        public Fragment getItem(int position) {
            if (mFragments[position] == null) {
                   // this calls the newInstance from when you setup the ListFragment
                mFragments[position] = new CustomFragment();
            }
            return mFragments[position];
        }
    }
    

提交回复
热议问题