Recyclerview is a my choice.
Adapter update all or item:\
// change item
notifyItemChanged(int)
notifyItemChanged(int,Object)
notifyItemRangeChanged(int, int)
notifyItemRangeChanged(int, int,Object)
// add
notifyItemInserted(int)
notifyItemRangeInserted(int, int)
// remove
notifyItemRemoved(int)
notifyItemRangeRemoved(int, int)
// reload all
notifyDataSetChanged()