web-dev-qa-db-ja.com

右スワイプを追加してリストビュー項目を削除します

(BaseAdapterを拡張する)カスタムアダプターを使用するListViewがあります。スワイプを追加してジェスチャーを削除するにはどうすればよいですか?

Gmailアプリケーションと同じ機能を使用したい。

9
Fra87

これを行う最も簡単な方法は、ListViewRecyclerViewに移動し、単一の列でGridLayoutManagerを使用することです。外観は同じですが、ItemTouchHelperを使用してスワイプして閉じることができます。

     recyclerView = (RecyclerView) view.findViewById(R.id.recyclerView);
     recyclerView.setLayoutManager(new GridLayoutManager(getActivity(), 1));

     recyclerView.setAdapter(adapter);


    ItemTouchHelper itemTouchHelper = new ItemTouchHelper(new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
        @Override
        public void onSwiped(RecyclerView.ViewHolder viewHolder, int swipeDir) {
            // Remove item from backing list here
            adapter.notifyDataSetChanged();
        }
    });

    itemTouchHelper.attachToRecyclerView(recyclerView);
17
Gary Bak

あなたはlibを使うことができます::

SwipeMenuListView

0
Anil Prajapati