私は、カスタムadaper(BaseAdapterを拡張)を使用するListViewを持っています。ジェスチャーを削除するためにスワイプを追加するにはどうすればよいですか?右にスワイプを追加してListViewアイテムを削除します
gmailアプリケーションが使用するのと同じ機能を使いたいです。
私は、カスタムadaper(BaseAdapterを拡張)を使用するListViewを持っています。ジェスチャーを削除するためにスワイプを追加するにはどうすればよいですか?右にスワイプを追加してListViewアイテムを削除します
gmailアプリケーションが使用するのと同じ機能を使いたいです。
これを行う最も簡単な方法は、ListView
をRecyclerView
に移動し、GridLayoutManager
を1つの列に使用することです。同じように見えますが、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);
または「LinearLayoutManager」でもこのトリックを行います – ChristopheCVB
これを使用するには、アダプタを正しく変更する必要があります? – Fra87
はい、ListViewをRecyclerViewに変更し、アダプタの基本クラスの種類を変更してから、そのデータのHandlerを1つ以上作成する必要があります。 –
あなたはLIBを使用することができます::
あなたはhttps://github.com/baoyongzhang/SwipeMenuListViewまたはhttps://github.com/chthai64/のようなライブラリを使用することができますSwipeRevealLayoutまたはhttps://github.com/daimajia/AndroidSwipeLayout – AndroidRuntimeException
問題は、このライブラリを実装するにはすべてを書き直す必要があります..... – Fra87