āĻāĻāĻāĻŋ āĻāϤāĻŋāĻļā§āϞ āϤāĻžāϞāĻŋāĻāĻž āĻāĻžāϏā§āĻāĻŽāĻžāĻāĻ āĻāϰā§āύ āĻ ā§āϝāĻžāύā§āĻĄā§āϰāϝāĻŧā§āĻĄ āĻā§āĻāĻĒā§āϝāĻžāĻā§āϰ āĻ āĻāĻļāĨ¤
āĻāĻĒāύāĻŋ āĻāĻĒāύāĻžāϰ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāĻžāĻšāĻŋāĻĻāĻž āĻŽā§āĻāĻžāϤ⧠RecyclerView
āĻ
āĻŦāĻā§āĻā§āĻ āĻāĻžāϏā§āĻāĻŽāĻžāĻāĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ RecyclerView āĻāϰ āϏāĻžāĻĨā§ āĻĄāĻžāϝāĻŧāύāĻžāĻŽāĻŋāĻ āϤāĻžāϞāĻŋāĻāĻž āϤā§āϰāĻŋ āĻāϰā§āύ -āĻ āĻŦāϰā§āĻŖāĻŋāϤ āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ āĻā§āϞāĻžāϏāĻā§āϞāĻŋ āĻŦā§āĻļāĻŋāϰāĻāĻžāĻ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāϰā§āĻĻā§āϰ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āϏāĻŽāϏā§āϤ āĻāĻžāϰā§āϝāĻāĻžāϰāĻŋāϤāĻž āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āĨ¤ āĻ
āύā§āĻ āĻā§āώā§āϤā§āϰā§, āĻāĻĒāύāĻžāĻā§ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāĻŋāĻ āĻšā§āϞā§āĻĄāĻžāϰā§āϰ āĻāύā§āϝ āĻāĻŋāĻ āĻĄāĻŋāĻāĻžāĻāύ āĻāϰāϤ⧠āĻšāĻŦā§ āĻāĻŦāĻ āĻāĻĒāϝā§āĻā§āϤ āĻĄā§āĻāĻž āĻĻāĻŋāϝāĻŧā§ āϏā§āĻ āĻāĻŋāĻ āĻāĻĒāĻĄā§āĻ āĻāϰāϤ⧠āĻā§āĻĄ āϞāĻŋāĻāϤ⧠āĻšāĻŦā§āĨ¤ āϝāĻžāĻāĻšā§āĻ, āĻāĻĒāύāĻžāϰ āĻ
ā§āϝāĻžāĻĒā§āϰ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧāϤāĻž āĻĨāĻžāĻāϞā§, āĻāĻĒāύāĻŋ āĻŦāĻŋāĻāĻŋāύā§āύ āĻāĻĒāĻžāϝāĻŧā§ āĻŽāĻžāύāĻ āĻāĻāϰāĻŖ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ āĻāĻ āύāĻĨāĻŋāϤ⧠āϏāĻŽā§āĻāĻžāĻŦā§āϝ āĻāĻŋāĻā§ āĻāĻžāϏā§āĻāĻŽāĻžāĻāĻā§āĻļāύ āĻŦāϰā§āĻŖāύāĻž āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤
āϞā§āĻāĻāĻ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰā§āύ
RecyclerView
āĻāĻāĻāĻŋ āϞā§āĻāĻāĻ āĻŽā§āϝāĻžāύā§āĻāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϏā§āĻā§āϰāĻŋāύ⧠āĻĒā§āĻĨāĻ āĻāĻāĻā§āĻŽāĻā§āϞāĻŋāϰ āĻ
āĻŦāϏā§āĻĨāĻžāύ āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰāϤ⧠āĻāĻŦāĻ āĻāĻāύ āĻāĻāĻā§āĻŽ āĻāĻŋāĻ āĻĒā§āύāϰāĻžāϝāĻŧ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻšāĻŦā§ āϤāĻž āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰāϤ⧠āϝāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰ āĻāĻžāĻā§ āĻāϰ āĻĻā§āĻļā§āϝāĻŽāĻžāύ āύāϝāĻŧāĨ¤ āĻāĻāĻāĻŋ āĻāĻŋāĻ āĻĒā§āύāĻāĻŦā§āϝāĻŦāĻšāĻžāϰ āĻŦāĻž āĻĒā§āύāϰā§āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤā§, āĻāĻāĻāĻŋ āϞā§āĻāĻāĻ āĻŽā§āϝāĻžāύā§āĻāĻžāϰ āĻ
ā§āϝāĻžāĻĄāĻžāĻĒā§āĻāĻžāϰāĻā§ āĻĄā§āĻāĻžāϏā§āĻ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻāĻŋāύā§āύ āĻāĻĒāĻžāĻĻāĻžāύ āĻĻāĻŋāϝāĻŧā§ āĻāĻŋāĻāϝāĻŧā§āϰ āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤ⧠āĻĒā§āϰāϤāĻŋāϏā§āĻĨāĻžāĻĒāύ āĻāϰāϤ⧠āĻŦāϞāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻāĻāĻžāĻŦā§ āĻāĻŋāĻ āϰāĻŋāϏāĻžāĻāĻā§āϞāĻŋāĻ āĻāϰāĻž āĻ
āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻāĻŋāĻ āϤā§āϰāĻŋ āĻāĻĄāĻŧāĻŋāϝāĻŧā§ āĻŦāĻž āĻŦā§āϝāϝāĻŧāĻŦāĻšā§āϞ findViewById()
āϞā§āĻāĻāĻĒ āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻāϰ⧠āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻž āĻāύā§āύāϤ āĻāϰā§āĨ¤ āĻ
ā§āϝāĻžāύā§āĻĄā§āϰāϝāĻŧā§āĻĄ āϏāĻžāĻĒā§āϰā§āĻ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋāϤ⧠āϤāĻŋāύāĻāĻŋ āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ āϞā§āĻāĻāĻ āĻŽā§āϝāĻžāύā§āĻāĻžāϰ āϰāϝāĻŧā§āĻā§, āϝāĻžāϰ āĻĒā§āϰāϤāĻŋāĻāĻŋāϤ⧠āĻ
āύā§āĻāĻā§āϞāĻŋ āĻāĻžāϏā§āĻāĻŽāĻžāĻāĻā§āĻļāύ āĻŦāĻŋāĻāϞā§āĻĒ āϰāϝāĻŧā§āĻā§:
-
LinearLayoutManager
: āĻāĻāĻā§āĻŽāĻā§āϞāĻŋāĻā§ āĻāĻ-āĻŽāĻžāϤā§āϰāĻŋāĻ āϤāĻžāϞāĻŋāĻāĻžāϝāĻŧ āϏāĻžāĻāĻžāϝāĻŧāĨ¤LinearLayoutManager
āϏāĻžāĻĨā§RecyclerView
āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžListView
āϞā§āĻāĻāĻā§āϰ āĻŽāϤ⧠āĻāĻžāϰā§āϝāĻāĻžāϰāĻŋāϤāĻž āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āĨ¤ -
GridLayoutManager
: āĻāĻāĻāĻŋ āĻĻā§āĻŦāĻŋ-āĻŽāĻžāϤā§āϰāĻŋāĻ āĻā§āϰāĻŋāĻĄā§ āĻāĻāĻā§āĻŽāĻā§āϞāĻŋāĻā§ āϏāĻžāĻāĻžāϝāĻŧ, āϝā§āĻŽāύ āĻāĻāĻāĻŋ āĻā§āĻāĻžāϰāĻŦā§āϰā§āĻĄā§āϰ āϏā§āĻā§āϝāĻŧāĻžāϰāĻā§āϞāĻŋāĨ¤GridLayoutManager
āϏāĻžāĻĨā§ āĻāĻāĻāĻŋRecyclerView
āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻāĻāĻāĻŋGridView
āϞā§āĻāĻāĻā§āϰ āĻŽāϤ⧠āĻāĻžāϰā§āϝāĻāĻžāϰāĻŋāϤāĻž āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āĨ¤ -
StaggeredGridLayoutManager
: āĻāĻāĻā§āĻŽāĻā§āϞāĻŋāĻā§ āĻāĻāĻāĻŋ āĻĻā§āĻŦāĻŋ-āĻŽāĻžāϤā§āϰāĻŋāĻ āĻā§āϰāĻŋāĻĄā§ āϏāĻžāĻāĻžāϝāĻŧ, āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāϞāĻžāĻŽ āĻāĻā§āϰ āĻĨā§āĻā§ āĻāĻŋāĻā§āĻāĻž āĻ āĻĢāϏā§āĻ āĻāϰā§, āϝā§āĻŽāύ āĻāĻāĻāĻŋ āĻāĻŽā§āϰāĻŋāĻāĻžāύ āĻĒāϤāĻžāĻāĻžāϰ āϤāĻžāϰāĻžāϰ āĻŽāϤā§āĨ¤
āϝāĻĻāĻŋ āĻāĻ āϞā§āĻāĻāĻ āĻŽā§āϝāĻžāύā§āĻāĻžāϰāĻā§āϞāĻŋ āĻāĻĒāύāĻžāϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻ
āύā§āϏāĻžāϰ⧠āύāĻž āĻšāϝāĻŧ, āĻāĻĒāύāĻŋ RecyclerView.LayoutManager
āĻŦāĻŋāĻŽā§āϰā§āϤ āĻā§āϞāĻžāϏ āĻĒā§āϰāϏāĻžāϰāĻŋāϤ āĻāϰ⧠āύāĻŋāĻā§āϰ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤
āĻāĻāĻā§āĻŽ āĻ ā§āϝāĻžāύāĻŋāĻŽā§āĻļāύ āϝā§āĻ āĻāϰā§āύ
āϝāĻāύāĻ āĻāĻāĻāĻŋ āĻāĻāĻā§āĻŽ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻšāϝāĻŧ, RecyclerView
āĻāϰ āĻā§āĻšāĻžāϰāĻž āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāϤ⧠āĻāĻāĻāĻŋ āĻ
ā§āϝāĻžāύāĻŋāĻŽā§āĻāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤ āĻāĻ āĻ
ā§āϝāĻžāύāĻŋāĻŽā§āĻāϰ āĻāĻŽāύ āĻāĻāĻāĻŋ āĻŦāϏā§āϤ⧠āϝāĻž āĻŦāĻŋāĻŽā§āϰā§āϤ RecyclerView.ItemAnimator
āĻā§āϞāĻžāϏ āĻĒā§āϰāϏāĻžāϰāĻŋāϤ āĻāϰā§āĨ¤ āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§, RecyclerView
āĻ
ā§āϝāĻžāύāĻŋāĻŽā§āĻļāύ āĻĒā§āϰāĻĻāĻžāύ āĻāϰāϤ⧠DefaultItemAnimator
āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤ āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻžāϏā§āĻāĻŽ āĻ
ā§āϝāĻžāύāĻŋāĻŽā§āĻļāύ āĻĒā§āϰāĻĻāĻžāύ āĻāϰāϤ⧠āĻāĻžāύ, āĻāĻĒāύāĻŋ RecyclerView.ItemAnimator
āĻĒā§āϰāϏāĻžāϰāĻŋāϤ āĻāϰ⧠āĻāĻĒāύāĻžāϰ āύāĻŋāĻāϏā§āĻŦ āĻ
ā§āϝāĻžāύāĻŋāĻŽā§āĻāϰ āĻ
āĻŦāĻā§āĻā§āĻ āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤
āϤāĻžāϞāĻŋāĻāĻž-āĻāĻāĻā§āĻŽ āύāĻŋāϰā§āĻŦāĻžāĻāύ āϏāĻā§āώāĻŽ āĻāϰā§āύ
recyclerview-selection
āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āĻĻā§āϰ āϏā§āĻĒāϰā§āĻļ āĻŦāĻž āĻŽāĻžāĻāϏ āĻāύāĻĒā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻāĻāĻŋ RecyclerView
āϤāĻžāϞāĻŋāĻāĻžāϰ āĻāĻāĻā§āĻŽ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāϰāϤ⧠āĻĻā§āϝāĻŧāĨ¤ āĻāĻāĻŋ āĻāĻĒāύāĻžāĻā§ āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻŦāĻžāĻāĻŋāϤ āĻāĻāĻā§āĻŽā§āϰ āĻāĻŋāĻā§āϝā§āϝāĻŧāĻžāϞ āĻāĻĒāϏā§āĻĨāĻžāĻĒāύāĻžāϰ āĻāĻĒāϰ āύāĻŋāϝāĻŧāύā§āϤā§āϰāĻŖ āĻŦāĻāĻžāϝāĻŧ āϰāĻžāĻāϤ⧠āĻĻā§āϝāĻŧāĨ¤ āĻāĻĒāύāĻŋ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāĻāϰāĻŖ āύāĻŋāϝāĻŧāύā§āϤā§āϰāĻŖāĻāĻžāϰ⧠āύā§āϤāĻŋāĻā§āϞāĻŋāϰ āĻāĻĒāϰ āύāĻŋāϝāĻŧāύā§āϤā§āϰāĻŖāĻ āϰāĻžāĻāϤ⧠āĻĒāĻžāϰā§āύ, āϝā§āĻŽāύ āĻā§āύ āĻāĻāĻā§āĻŽāĻā§āϞāĻŋ āύāĻŋāϰā§āĻŦāĻžāĻāύā§āϰ āĻāύā§āϝ āϝā§āĻā§āϝ āĻāĻŦāĻ āĻāϤāĻā§āϞāĻŋ āĻāĻāĻā§āĻŽ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤
āĻāĻāĻāĻŋ RecyclerView
āĻāĻĻāĻžāĻšāϰāĻŖā§ āύāĻŋāϰā§āĻŦāĻžāĻāύ āϏāĻŽāϰā§āĻĨāύ āϝā§āĻ āĻāϰāϤā§, āĻāĻ āĻĒāĻĻāĻā§āώā§āĻĒāĻā§āϞāĻŋ āĻ
āύā§āϏāϰāĻŖ āĻāϰā§āύ:
- āĻā§āύ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻā§ āϧāϰāύā§āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻšāĻŦā§ āϤāĻž āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰā§āύ, āϤāĻžāϰāĻĒāϰ āĻāĻāĻāĻŋ
ItemKeyProvider
āϤā§āϰāĻŋ āĻāϰā§āύāĨ¤āĻāĻĒāύāĻŋ āύāĻŋāϰā§āĻŦāĻžāĻāĻŋāϤ āĻāĻāĻā§āĻŽ āϏāύāĻžāĻā§āϤ āĻāϰāϤ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ āϤāĻŋāύāĻāĻŋ āĻŽā§āϞ āĻĒā§āϰāĻāĻžāϰ āĻāĻā§:
-
Parcelable
āĻāĻŦāĻ āĻāϰ āϏāĻžāĻŦāĻā§āϞāĻžāϏ, āϝā§āĻŽāύUri
-
String
-
Long
āύāĻŋāϰā§āĻŦāĻžāĻāύ-āĻā§ āĻĒā§āϰāĻāĻžāϰ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻŦāĻŋāϏā§āϤāĻžāϰāĻŋāϤ āϤāĻĨā§āϝā§āϰ āĻāύā§āϝ,
SelectionTracker.Builder
āĻĻā§āĻā§āύāĨ¤ -
-
ItemDetailsLookup
āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰā§āύāĨ¤ - āĻāĻāĻā§āĻŽ āĻāĻĒāĻĄā§āĻ āĻāϰā§āύ
RecyclerView
āϤ⧠āĻ āĻŦāĻā§āĻā§āĻView
āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āϏā§āĻā§āϞāĻŋ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāϰā§āύ āĻŦāĻž āĻ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāϰā§āύ āĻāĻŋāύāĻž āϤāĻž āĻĒā§āϰāϤāĻŋāĻĢāϞāĻŋāϤ āĻāϰāϤā§āĨ¤āύāĻŋāϰā§āĻŦāĻžāĻāύ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āύāĻŋāϰā§āĻŦāĻžāĻāĻŋāϤ āĻāĻāĻā§āĻŽāĻā§āϞāĻŋāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻĄāĻŋāĻĢāϞā§āĻ āĻāĻŋāĻā§āϝā§āϝāĻŧāĻžāϞ āϏāĻā§āĻāĻž āĻĒā§āϰāĻĻāĻžāύ āĻāϰ⧠āύāĻžāĨ¤ āĻāĻĒāύāĻŋ
onBindViewHolder()
āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻāĻāĻŋ āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āύāĨ¤ āĻāĻŽāϰāĻž āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻĒāĻĻā§āϧāϤāĻŋāϰ āϏā§āĻĒāĻžāϰāĻŋāĻļ:-
onBindViewHolder()
-āĻ,setActivated()
â āϏā§āĻ āύāĻž āĻāϰā§setSelected()
âView
āĻŦāϏā§āϤā§āĻāĻŋāϤā§true
āĻŦāĻžfalse
āϏāĻš āĻāϞ ââāĻāϰā§āύ, āĻāĻāĻā§āĻŽāĻāĻŋ āύāĻŋāϰā§āĻŦāĻžāĻāĻŋāϤ āĻāĻŋāύāĻž āϤāĻžāϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰā§āĨ¤ - āϏāĻā§āϰāĻŋāϝāĻŧ āϏā§āĻĨāĻŋāϤāĻŋ āĻāĻĒāϏā§āĻĨāĻžāĻĒāύ āĻāϰāϤ⧠āĻĻā§āĻļā§āϝā§āϰ āϏā§āĻāĻžāĻāϞāĻŋāĻ āĻāĻĒāĻĄā§āĻ āĻāϰā§āύāĨ¤ āĻāĻŽāϰāĻž āϏā§āĻāĻžāĻāϞāĻŋāĻ āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āϰāĻ āϰāĻžāĻā§āϝ āϤāĻžāϞāĻŋāĻāĻž āϏāĻŽā§āĻĒāĻĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āĻĒāϰāĻžāĻŽāϰā§āĻļ āĻĻāĻŋāĻāĨ¤
-
- āύāĻŋāϰā§āĻŦāĻžāĻāύā§āϰ āĻāĻĒāϰ āĻāĻāĻāĻŋ āĻā§āϰāĻŋāϝāĻŧāĻž āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻāϰāĻžāϰ āĻāύā§āϝ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āĻā§ āϏāϰāĻā§āĻāĻžāĻŽ āϏāϰāĻŦāϰāĻžāĻš āĻāϰāϤā§
ActionMode
āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύāĨ¤ - āĻā§āύ⧠āĻŦā§āϝāĻžāĻā§āϝāĻž āĻāϰāĻž āϏā§āĻā§āύā§āĻĄāĻžāϰāĻŋ āĻā§āϰāĻŋāϝāĻŧāĻž āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻāϰā§āύāĨ¤
-
SelectionTracker.Builder
āĻĻāĻŋāϝāĻŧā§ āϏāĻŦāĻāĻŋāĻā§ āĻāĻāϤā§āϰāĻŋāϤ āĻāϰā§āύāĨ¤ - āĻāĻžāϰā§āϝāĻāϞāĻžāĻĒ āĻā§āĻŦāύāĻāĻā§āϰ āĻāĻā§āύā§āĻ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻ āύā§āϤāϰā§āĻā§āĻā§āϤ.
ItemDetailsLookup
āĻāĻāĻāĻŋ MotionEvent
āĻĒā§āϰāĻĻāϤā§āϤ RecyclerView
āĻāĻāĻā§āĻŽ āϏāĻŽā§āĻĒāϰā§āĻā§ āύāĻŋāϰā§āĻŦāĻžāĻāύ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āϤāĻĨā§āϝ āĻ
ā§āϝāĻžāĻā§āϏā§āϏ āĻāϰāϤ⧠āĻĻā§āϝāĻŧāĨ¤ āĻāĻāĻŋ āĻāĻžāϰā§āϝāĻāϰāĻāĻžāĻŦā§ ItemDetails
āĻĻā§āώā§āĻāĻžāύā§āϤāĻā§āϞāĻŋāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻĢā§āϝāĻžāĻā§āĻāϰāĻŋ āϝāĻž āĻāĻāĻāĻŋ RecyclerView.ViewHolder
āĻāĻĻāĻžāĻšāϰāĻŖ āĻĻā§āĻŦāĻžāϰāĻž āĻŦā§āϝāĻžāĻ āĻāĻĒ āĻāϰāĻž āĻšāϝāĻŧ āĻŦāĻž āϏā§āĻāĻžāύ āĻĨā§āĻā§ āĻŦā§āϰ āĻāϰāĻž āĻšāϝāĻŧ⧎
āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻĒāϰāĻŋāĻŦāϰā§āϤāĻŋāϤ āĻšāϞ⧠āĻŦāĻŋāĻā§āĻāĻĒā§āϤāĻŋ āĻĒāĻžāĻāϝāĻŧāĻžāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ SelectionTracker.SelectionObserver
āύāĻŋāĻŦāύā§āϧāύ āĻāϰā§āύ⧎ āϝāĻāύ āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻĒā§āϰāĻĨāĻŽ āϤā§āϰāĻŋ āĻāϰāĻž āĻšāϝāĻŧ, āϤāĻāύ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰ āĻāĻžāĻā§ āĻāĻāĻŋ āĻāĻĒāϏā§āĻĨāĻžāĻĒāύ āĻāϰāϤ⧠āĻāĻŦāĻ āύāĻŋāϰā§āĻŦāĻžāĻāύ-āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻā§āϰāĻŋāϝāĻŧāĻžāĻā§āϞāĻŋ āĻĒā§āϰāĻĻāĻžāύ āĻāϰāϤ⧠ActionMode
āĻļā§āϰ⧠āĻāϰā§āύāĨ¤ āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻāĻĒāύāĻŋ ActionMode
āĻŦāĻžāϰ⧠āĻāĻāĻāĻŋ āĻĄāĻŋāϞāĻŋāĻ āĻŦā§āϤāĻžāĻŽ āϝā§āĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ āĻāĻŦāĻ āύāĻŋāϰā§āĻŦāĻžāĻāύāĻāĻŋ āϏāĻžāĻĢ āĻāϰāϤ⧠āĻŦāĻžāϰā§āϰ āĻĒāĻŋāĻāύā§āϰ āϤā§āϰāĻāĻŋ āϏāĻāϝā§āĻā§āϤ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ āϝāĻāύ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāĻžāϞāĻŋ āĻšāϝāĻŧā§ āϝāĻžāϝāĻŧ-āϝāĻĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻļā§āώāĻŦāĻžāϰ āύāĻŋāϰā§āĻŦāĻžāĻāύāĻāĻŋ āϏāĻžāĻĢ āĻāϰā§āύ-āĻ
ā§āϝāĻžāĻāĻļāύ āĻŽā§āĻĄ āĻŦāύā§āϧ āĻāϰā§āύāĨ¤
āĻāĻā§āύā§āĻ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻāϰāĻŖ āĻĒāĻžāĻāĻĒāϞāĻžāĻāύā§āϰ āĻļā§āώā§, āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āϝ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻāĻāĻāĻŋ āĻāĻāĻā§āĻŽ āϏāĻā§āϰāĻŋāϝāĻŧ āĻāϰāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰāĻā§āύ, āĻāĻāĻŋ āĻā§āϝāĻžāĻĒ āĻāϰā§, āĻŦāĻž āĻāĻāĻāĻŋ āĻāĻāĻā§āĻŽ āĻŦāĻž āύāĻŋāϰā§āĻŦāĻžāĻāĻŋāϤ āĻāĻāĻā§āĻŽāĻā§āϞāĻŋāϰ āϏā§āĻ āĻā§āύ⧠āĻāύāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰāĻā§āύ⧎ āĻāĻĒāϝā§āĻā§āϤ āĻļā§āϰā§āϤāĻž āύāĻŋāĻŦāύā§āϧāύ āĻāϰ⧠āĻāĻ āĻŦā§āϝāĻžāĻā§āϝāĻžāĻā§āϞāĻŋāϤ⧠āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻāĻžāύāĻžāύāĨ¤ āĻāϰāĻ āϤāĻĨā§āϝā§āϰ āĻāύā§āϝ, SelectionTracker.Builder
āĻĻā§āĻā§āύāĨ¤
āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻāĻĻāĻžāĻšāϰāĻŖ āĻĻā§āĻāĻžāϝāĻŧ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻ āĻā§āĻāϰāĻž āĻāĻāϏāĻžāĻĨā§ āϰāĻžāĻāĻž:
āĻā§āĻāϞāĻŋāύ
var tracker = SelectionTracker.Builder( "my-selection-id", recyclerView, StableIdKeyProvider(recyclerView), MyDetailsLookup(recyclerView), StorageStrategy.createLongStorage()) .withOnItemActivatedListener(myItemActivatedListener) .build()
āĻāĻžāĻāĻž
SelectionTracker tracker = new SelectionTracker.Builder<>( "my-selection-id", recyclerView, new StableIdKeyProvider(recyclerView), new MyDetailsLookup(recyclerView), StorageStrategy.createLongStorage()) .withOnItemActivatedListener(myItemActivatedListener) .build();
āĻāĻāĻāĻŋ SelectionTracker
āĻĻā§āώā§āĻāĻžāύā§āϤ āϤā§āϰāĻŋ āĻāϰāϤā§, āĻāĻĒāύāĻžāϰ āĻ
ā§āϝāĻžāĻĒāĻāĻŋāĻā§ āĻ
āĻŦāĻļā§āϝāĻ āĻāĻāĻ RecyclerView.Adapter
āϏāϰāĻŦāϰāĻžāĻš āĻāϰāϤ⧠āĻšāĻŦā§ āϝāĻž āĻāĻĒāύāĻŋ SelectionTracker.Builder
āĻĨā§āĻā§ RecyclerView
āĻāϰāĻŽā§āĻ āĻāϰāϤ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύāĨ¤ āĻāĻ āĻāĻžāϰāĻŖā§, āĻāĻĒāύāĻŋ SelectionTracker
āĻāύā§āϏāĻā§āϝāĻžāύā§āϏ āϤā§āϰāĻŋ āĻāϰāĻžāϰ āĻĒāϰā§, āĻāĻāĻŋ āĻāĻĒāύāĻžāϰ RecyclerView.Adapter
āĻ āĻāύāĻā§āĻā§āĻ āĻāϰā§āύāĨ¤ āĻ
āύā§āϝāĻĨāĻžāϝāĻŧ, āĻāĻĒāύāĻŋ onBindViewHolder()
āĻĒāĻĻā§āϧāϤāĻŋ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻāĻāĻā§āĻŽā§āϰ āύāĻŋāϰā§āĻŦāĻžāĻāĻŋāϤ āϏā§āĻĨāĻŋāϤāĻŋ āĻĒāϰā§āĻā§āώāĻž āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦā§āύ āύāĻžāĨ¤
āĻ
ā§āϝāĻžāĻā§āĻāĻŋāĻāĻŋāĻāĻŋ āϞāĻžāĻāĻĢāϏāĻžāĻāĻā§āϞ āĻāĻā§āύā§āĻ āĻā§āĻĄāĻŧā§ āύāĻŋāϰā§āĻŦāĻžāĻāύā§āϰ āĻ
āĻŦāϏā§āĻĨāĻž āϏāĻāϰāĻā§āώāĻŖ āĻāϰāϤā§, āĻāĻĒāύāĻžāϰ āĻ
ā§āϝāĻžāĻĒāĻāĻŋāĻā§ āĻ
āĻŦāĻļā§āϝāĻ āĻ
ā§āϝāĻžāĻā§āĻāĻŋāĻāĻŋāĻāĻŋāϰ onSaveInstanceState()
āĻāĻŦāĻ onRestoreInstanceState()
āĻĒāĻĻā§āϧāϤāĻŋāĻā§āϞāĻŋ āĻĨā§āĻā§ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻā§āϰā§āϝāĻžāĻāĻžāϰā§āϰ onSaveInstanceState()
āĻāĻŦāĻ onRestoreInstanceState()
āĻĒāĻĻā§āϧāϤāĻŋāϤ⧠āĻāϞ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āĻāĻĒāύāĻžāϰ āĻ
ā§āϝāĻžāĻĒāĻāĻŋāĻā§ āĻ
āĻŦāĻļā§āϝāĻ SelectionTracker.Builder
āĻāύāϏā§āĻā§āϰāĻžāĻā§āĻāϰāĻā§ āĻāĻāĻāĻŋ āĻ
āύāύā§āϝ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāĻāĻĄāĻŋ āϏāϰāĻŦāϰāĻžāĻš āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āĻāĻ āĻāĻāĻĄāĻŋāĻāĻŋ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻāĻžāϰāĻŖ āĻāĻāĻāĻŋ āĻāĻžāϰā§āϝāĻāϞāĻžāĻĒ āĻŦāĻž āĻāĻāĻāĻŋ āĻāĻŖā§āĻĄā§āϰ āĻāĻāĻžāϧāĻŋāĻ āϏā§āĻŦāϤāύā§āϤā§āϰ, āύāĻŋāϰā§āĻŦāĻžāĻāύāϝā§āĻā§āϝ āϤāĻžāϞāĻŋāĻāĻž āĻĨāĻžāĻāϤ⧠āĻĒāĻžāϰā§, āϝāĻžāϰ āϏāĻŦāĻāĻāĻŋ āϤāĻžāĻĻā§āϰ āϏāĻāϰāĻā§āώāĻŋāϤ āĻ
āĻŦāϏā§āĻĨāĻžāϝāĻŧ āĻāĻŋāĻā§ āĻĨāĻžāĻāϤ⧠āĻšāĻŦā§āĨ¤
āĻ āϤāĻŋāϰāĻŋāĻā§āϤ āϏāĻŽā§āĻĒāĻĻ
āĻ āϤāĻŋāϰāĻŋāĻā§āϤ āϤāĻĨā§āϝā§āϰ āĻāύā§āϝ āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āϰā§āĻĢāĻžāϰā§āύā§āϏ āĻĻā§āĻā§āύ.
- āϏā§āϰā§āϝāĻŽā§āĻā§ āĻĄā§āĻŽā§ āĻ
ā§āϝāĻžāĻĒ , āϝāĻž
RecyclerView
āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤ - āĻāĻāĻāĻŋ āϏā§āĻā§āϰā§āϞāϝā§āĻā§āϝ āϤāĻžāϞāĻŋāĻāĻž āĻā§āĻĄāϞā§āϝāĻžāĻŦ āĻĒā§āϰāĻĻāϰā§āĻļāύ āĻāϰāϤ⧠RecyclerView āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ āĨ¤
- āĻ ā§āϝāĻžāύā§āĻĄā§āϰāϝāĻŧā§āĻĄ āĻā§āĻāϞāĻŋāύ āĻĢāĻžāύā§āĻĄāĻžāĻŽā§āύā§āĻāĻžāϞāϏ: āϰāĻŋāϏāĻžāĻāĻā§āϞāĻžāϰāĻāĻŋāĻ āĻĢāĻžāύā§āĻĄāĻžāĻŽā§āύā§āĻāĻžāϞ āĻā§āĻĄāϞā§āϝāĻžāĻŦāĨ¤
āĻāĻāĻāĻŋ āĻāϤāĻŋāĻļā§āϞ āϤāĻžāϞāĻŋāĻāĻž āĻāĻžāϏā§āĻāĻŽāĻžāĻāĻ āĻāϰā§āύ āĻ ā§āϝāĻžāύā§āĻĄā§āϰāϝāĻŧā§āĻĄ āĻā§āĻāĻĒā§āϝāĻžāĻā§āϰ āĻ āĻāĻļāĨ¤
āĻāĻĒāύāĻŋ āĻāĻĒāύāĻžāϰ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāĻžāĻšāĻŋāĻĻāĻž āĻŽā§āĻāĻžāϤ⧠RecyclerView
āĻ
āĻŦāĻā§āĻā§āĻ āĻāĻžāϏā§āĻāĻŽāĻžāĻāĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ RecyclerView āĻāϰ āϏāĻžāĻĨā§ āĻĄāĻžāϝāĻŧāύāĻžāĻŽāĻŋāĻ āϤāĻžāϞāĻŋāĻāĻž āϤā§āϰāĻŋ āĻāϰā§āύ -āĻ āĻŦāϰā§āĻŖāĻŋāϤ āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ āĻā§āϞāĻžāϏāĻā§āϞāĻŋ āĻŦā§āĻļāĻŋāϰāĻāĻžāĻ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāϰā§āĻĻā§āϰ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āϏāĻŽāϏā§āϤ āĻāĻžāϰā§āϝāĻāĻžāϰāĻŋāϤāĻž āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āĨ¤ āĻ
āύā§āĻ āĻā§āώā§āϤā§āϰā§, āĻāĻĒāύāĻžāĻā§ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāĻŋāĻ āĻšā§āϞā§āĻĄāĻžāϰā§āϰ āĻāύā§āϝ āĻāĻŋāĻ āĻĄāĻŋāĻāĻžāĻāύ āĻāϰāϤ⧠āĻšāĻŦā§ āĻāĻŦāĻ āĻāĻĒāϝā§āĻā§āϤ āĻĄā§āĻāĻž āĻĻāĻŋāϝāĻŧā§ āϏā§āĻ āĻāĻŋāĻ āĻāĻĒāĻĄā§āĻ āĻāϰāϤ⧠āĻā§āĻĄ āϞāĻŋāĻāϤ⧠āĻšāĻŦā§āĨ¤ āϝāĻžāĻāĻšā§āĻ, āĻāĻĒāύāĻžāϰ āĻ
ā§āϝāĻžāĻĒā§āϰ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧāϤāĻž āĻĨāĻžāĻāϞā§, āĻāĻĒāύāĻŋ āĻŦāĻŋāĻāĻŋāύā§āύ āĻāĻĒāĻžāϝāĻŧā§ āĻŽāĻžāύāĻ āĻāĻāϰāĻŖ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ āĻāĻ āύāĻĨāĻŋāϤ⧠āϏāĻŽā§āĻāĻžāĻŦā§āϝ āĻāĻŋāĻā§ āĻāĻžāϏā§āĻāĻŽāĻžāĻāĻā§āĻļāύ āĻŦāϰā§āĻŖāύāĻž āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤
āϞā§āĻāĻāĻ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰā§āύ
RecyclerView
āĻāĻāĻāĻŋ āϞā§āĻāĻāĻ āĻŽā§āϝāĻžāύā§āĻāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϏā§āĻā§āϰāĻŋāύ⧠āĻĒā§āĻĨāĻ āĻāĻāĻā§āĻŽāĻā§āϞāĻŋāϰ āĻ
āĻŦāϏā§āĻĨāĻžāύ āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰāϤ⧠āĻāĻŦāĻ āĻāĻāύ āĻāĻāĻā§āĻŽ āĻāĻŋāĻ āĻĒā§āύāϰāĻžāϝāĻŧ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻšāĻŦā§ āϤāĻž āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰāϤ⧠āϝāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰ āĻāĻžāĻā§ āĻāϰ āĻĻā§āĻļā§āϝāĻŽāĻžāύ āύāϝāĻŧāĨ¤ āĻāĻāĻāĻŋ āĻāĻŋāĻ āĻĒā§āύāĻāĻŦā§āϝāĻŦāĻšāĻžāϰ āĻŦāĻž āĻĒā§āύāϰā§āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤā§, āĻāĻāĻāĻŋ āϞā§āĻāĻāĻ āĻŽā§āϝāĻžāύā§āĻāĻžāϰ āĻ
ā§āϝāĻžāĻĄāĻžāĻĒā§āĻāĻžāϰāĻā§ āĻĄā§āĻāĻžāϏā§āĻ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻāĻŋāύā§āύ āĻāĻĒāĻžāĻĻāĻžāύ āĻĻāĻŋāϝāĻŧā§ āĻāĻŋāĻāϝāĻŧā§āϰ āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤ⧠āĻĒā§āϰāϤāĻŋāϏā§āĻĨāĻžāĻĒāύ āĻāϰāϤ⧠āĻŦāϞāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻāĻāĻžāĻŦā§ āĻāĻŋāĻ āϰāĻŋāϏāĻžāĻāĻā§āϞāĻŋāĻ āĻāϰāĻž āĻ
āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻāĻŋāĻ āϤā§āϰāĻŋ āĻāĻĄāĻŧāĻŋāϝāĻŧā§ āĻŦāĻž āĻŦā§āϝāϝāĻŧāĻŦāĻšā§āϞ findViewById()
āϞā§āĻāĻāĻĒ āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻāϰ⧠āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻž āĻāύā§āύāϤ āĻāϰā§āĨ¤ āĻ
ā§āϝāĻžāύā§āĻĄā§āϰāϝāĻŧā§āĻĄ āϏāĻžāĻĒā§āϰā§āĻ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋāϤ⧠āϤāĻŋāύāĻāĻŋ āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ āϞā§āĻāĻāĻ āĻŽā§āϝāĻžāύā§āĻāĻžāϰ āϰāϝāĻŧā§āĻā§, āϝāĻžāϰ āĻĒā§āϰāϤāĻŋāĻāĻŋāϤ⧠āĻ
āύā§āĻāĻā§āϞāĻŋ āĻāĻžāϏā§āĻāĻŽāĻžāĻāĻā§āĻļāύ āĻŦāĻŋāĻāϞā§āĻĒ āϰāϝāĻŧā§āĻā§:
-
LinearLayoutManager
: āĻāĻāĻā§āĻŽāĻā§āϞāĻŋāĻā§ āĻāĻ-āĻŽāĻžāϤā§āϰāĻŋāĻ āϤāĻžāϞāĻŋāĻāĻžāϝāĻŧ āϏāĻžāĻāĻžāϝāĻŧāĨ¤LinearLayoutManager
āϏāĻžāĻĨā§RecyclerView
āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžListView
āϞā§āĻāĻāĻā§āϰ āĻŽāϤ⧠āĻāĻžāϰā§āϝāĻāĻžāϰāĻŋāϤāĻž āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āĨ¤ -
GridLayoutManager
: āĻāĻāĻāĻŋ āĻĻā§āĻŦāĻŋ-āĻŽāĻžāϤā§āϰāĻŋāĻ āĻā§āϰāĻŋāĻĄā§ āĻāĻāĻā§āĻŽāĻā§āϞāĻŋāĻā§ āϏāĻžāĻāĻžāϝāĻŧ, āϝā§āĻŽāύ āĻāĻāĻāĻŋ āĻā§āĻāĻžāϰāĻŦā§āϰā§āĻĄā§āϰ āϏā§āĻā§āϝāĻŧāĻžāϰāĻā§āϞāĻŋāĨ¤GridLayoutManager
āϏāĻžāĻĨā§ āĻāĻāĻāĻŋRecyclerView
āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻāĻāĻāĻŋGridView
āϞā§āĻāĻāĻā§āϰ āĻŽāϤ⧠āĻāĻžāϰā§āϝāĻāĻžāϰāĻŋāϤāĻž āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āĨ¤ -
StaggeredGridLayoutManager
: āĻāĻāĻā§āĻŽāĻā§āϞāĻŋāĻā§ āĻāĻāĻāĻŋ āĻĻā§āĻŦāĻŋ-āĻŽāĻžāϤā§āϰāĻŋāĻ āĻā§āϰāĻŋāĻĄā§ āϏāĻžāĻāĻžāϝāĻŧ, āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāϞāĻžāĻŽ āĻāĻā§āϰ āĻĨā§āĻā§ āĻāĻŋāĻā§āĻāĻž āĻ āĻĢāϏā§āĻ āĻāϰā§, āϝā§āĻŽāύ āĻāĻāĻāĻŋ āĻāĻŽā§āϰāĻŋāĻāĻžāύ āĻĒāϤāĻžāĻāĻžāϰ āϤāĻžāϰāĻžāϰ āĻŽāϤā§āĨ¤
āϝāĻĻāĻŋ āĻāĻ āϞā§āĻāĻāĻ āĻŽā§āϝāĻžāύā§āĻāĻžāϰāĻā§āϞāĻŋ āĻāĻĒāύāĻžāϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻ
āύā§āϏāĻžāϰ⧠āύāĻž āĻšāϝāĻŧ, āĻāĻĒāύāĻŋ RecyclerView.LayoutManager
āĻŦāĻŋāĻŽā§āϰā§āϤ āĻā§āϞāĻžāϏ āĻĒā§āϰāϏāĻžāϰāĻŋāϤ āĻāϰ⧠āύāĻŋāĻā§āϰ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤
āĻāĻāĻā§āĻŽ āĻ ā§āϝāĻžāύāĻŋāĻŽā§āĻļāύ āϝā§āĻ āĻāϰā§āύ
āϝāĻāύāĻ āĻāĻāĻāĻŋ āĻāĻāĻā§āĻŽ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻšāϝāĻŧ, RecyclerView
āĻāϰ āĻā§āĻšāĻžāϰāĻž āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāϤ⧠āĻāĻāĻāĻŋ āĻ
ā§āϝāĻžāύāĻŋāĻŽā§āĻāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤ āĻāĻ āĻ
ā§āϝāĻžāύāĻŋāĻŽā§āĻāϰ āĻāĻŽāύ āĻāĻāĻāĻŋ āĻŦāϏā§āϤ⧠āϝāĻž āĻŦāĻŋāĻŽā§āϰā§āϤ RecyclerView.ItemAnimator
āĻā§āϞāĻžāϏ āĻĒā§āϰāϏāĻžāϰāĻŋāϤ āĻāϰā§āĨ¤ āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§, RecyclerView
āĻ
ā§āϝāĻžāύāĻŋāĻŽā§āĻļāύ āĻĒā§āϰāĻĻāĻžāύ āĻāϰāϤ⧠DefaultItemAnimator
āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤ āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻžāϏā§āĻāĻŽ āĻ
ā§āϝāĻžāύāĻŋāĻŽā§āĻļāύ āĻĒā§āϰāĻĻāĻžāύ āĻāϰāϤ⧠āĻāĻžāύ, āĻāĻĒāύāĻŋ RecyclerView.ItemAnimator
āĻĒā§āϰāϏāĻžāϰāĻŋāϤ āĻāϰ⧠āĻāĻĒāύāĻžāϰ āύāĻŋāĻāϏā§āĻŦ āĻ
ā§āϝāĻžāύāĻŋāĻŽā§āĻāϰ āĻ
āĻŦāĻā§āĻā§āĻ āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤
āϤāĻžāϞāĻŋāĻāĻž-āĻāĻāĻā§āĻŽ āύāĻŋāϰā§āĻŦāĻžāĻāύ āϏāĻā§āώāĻŽ āĻāϰā§āύ
recyclerview-selection
āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āĻĻā§āϰ āϏā§āĻĒāϰā§āĻļ āĻŦāĻž āĻŽāĻžāĻāϏ āĻāύāĻĒā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻāĻāĻŋ RecyclerView
āϤāĻžāϞāĻŋāĻāĻžāϰ āĻāĻāĻā§āĻŽ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāϰāϤ⧠āĻĻā§āϝāĻŧāĨ¤ āĻāĻāĻŋ āĻāĻĒāύāĻžāĻā§ āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻŦāĻžāĻāĻŋāϤ āĻāĻāĻā§āĻŽā§āϰ āĻāĻŋāĻā§āϝā§āϝāĻŧāĻžāϞ āĻāĻĒāϏā§āĻĨāĻžāĻĒāύāĻžāϰ āĻāĻĒāϰ āύāĻŋāϝāĻŧāύā§āϤā§āϰāĻŖ āĻŦāĻāĻžāϝāĻŧ āϰāĻžāĻāϤ⧠āĻĻā§āϝāĻŧāĨ¤ āĻāĻĒāύāĻŋ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāĻāϰāĻŖ āύāĻŋāϝāĻŧāύā§āϤā§āϰāĻŖāĻāĻžāϰ⧠āύā§āϤāĻŋāĻā§āϞāĻŋāϰ āĻāĻĒāϰ āύāĻŋāϝāĻŧāύā§āϤā§āϰāĻŖāĻ āϰāĻžāĻāϤ⧠āĻĒāĻžāϰā§āύ, āϝā§āĻŽāύ āĻā§āύ āĻāĻāĻā§āĻŽāĻā§āϞāĻŋ āύāĻŋāϰā§āĻŦāĻžāĻāύā§āϰ āĻāύā§āϝ āϝā§āĻā§āϝ āĻāĻŦāĻ āĻāϤāĻā§āϞāĻŋ āĻāĻāĻā§āĻŽ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤
āĻāĻāĻāĻŋ RecyclerView
āĻāĻĻāĻžāĻšāϰāĻŖā§ āύāĻŋāϰā§āĻŦāĻžāĻāύ āϏāĻŽāϰā§āĻĨāύ āϝā§āĻ āĻāϰāϤā§, āĻāĻ āĻĒāĻĻāĻā§āώā§āĻĒāĻā§āϞāĻŋ āĻ
āύā§āϏāϰāĻŖ āĻāϰā§āύ:
- āĻā§āύ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻā§ āϧāϰāύā§āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻšāĻŦā§ āϤāĻž āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰā§āύ, āϤāĻžāϰāĻĒāϰ āĻāĻāĻāĻŋ
ItemKeyProvider
āϤā§āϰāĻŋ āĻāϰā§āύāĨ¤āĻāĻĒāύāĻŋ āύāĻŋāϰā§āĻŦāĻžāĻāĻŋāϤ āĻāĻāĻā§āĻŽ āϏāύāĻžāĻā§āϤ āĻāϰāϤ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ āϤāĻŋāύāĻāĻŋ āĻŽā§āϞ āĻĒā§āϰāĻāĻžāϰ āĻāĻā§:
-
Parcelable
āĻāĻŦāĻ āĻāϰ āϏāĻžāĻŦāĻā§āϞāĻžāϏ, āϝā§āĻŽāύUri
-
String
-
Long
āύāĻŋāϰā§āĻŦāĻžāĻāύ-āĻā§ āĻĒā§āϰāĻāĻžāϰ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻŦāĻŋāϏā§āϤāĻžāϰāĻŋāϤ āϤāĻĨā§āϝā§āϰ āĻāύā§āϝ,
SelectionTracker.Builder
āĻĻā§āĻā§āύāĨ¤ -
-
ItemDetailsLookup
āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰā§āύāĨ¤ - āĻāĻāĻā§āĻŽ āĻāĻĒāĻĄā§āĻ āĻāϰā§āύ
RecyclerView
āϤ⧠āĻ āĻŦāĻā§āĻā§āĻView
āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āϏā§āĻā§āϞāĻŋ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāϰā§āύ āĻŦāĻž āĻ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāϰā§āύ āĻāĻŋāύāĻž āϤāĻž āĻĒā§āϰāϤāĻŋāĻĢāϞāĻŋāϤ āĻāϰāϤā§āĨ¤āύāĻŋāϰā§āĻŦāĻžāĻāύ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āύāĻŋāϰā§āĻŦāĻžāĻāĻŋāϤ āĻāĻāĻā§āĻŽāĻā§āϞāĻŋāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻĄāĻŋāĻĢāϞā§āĻ āĻāĻŋāĻā§āϝā§āϝāĻŧāĻžāϞ āϏāĻā§āĻāĻž āĻĒā§āϰāĻĻāĻžāύ āĻāϰ⧠āύāĻžāĨ¤ āĻāĻĒāύāĻŋ
onBindViewHolder()
āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻāĻāĻŋ āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āύāĨ¤ āĻāĻŽāϰāĻž āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻĒāĻĻā§āϧāϤāĻŋāϰ āϏā§āĻĒāĻžāϰāĻŋāĻļ:-
onBindViewHolder()
-āĻ,setActivated()
â āϏā§āĻ āύāĻž āĻāϰā§setSelected()
âView
āĻŦāϏā§āϤā§āĻāĻŋāϤā§true
āĻŦāĻžfalse
āϏāĻš āĻāϞ ââāĻāϰā§āύ, āĻāĻāĻā§āĻŽāĻāĻŋ āύāĻŋāϰā§āĻŦāĻžāĻāĻŋāϤ āĻāĻŋāύāĻž āϤāĻžāϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰā§āĨ¤ - āϏāĻā§āϰāĻŋāϝāĻŧ āϏā§āĻĨāĻŋāϤāĻŋ āĻāĻĒāϏā§āĻĨāĻžāĻĒāύ āĻāϰāϤ⧠āĻĻā§āĻļā§āϝā§āϰ āϏā§āĻāĻžāĻāϞāĻŋāĻ āĻāĻĒāĻĄā§āĻ āĻāϰā§āύāĨ¤ āĻāĻŽāϰāĻž āϏā§āĻāĻžāĻāϞāĻŋāĻ āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āϰāĻ āϰāĻžāĻā§āϝ āϤāĻžāϞāĻŋāĻāĻž āϏāĻŽā§āĻĒāĻĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āĻĒāϰāĻžāĻŽāϰā§āĻļ āĻĻāĻŋāĻāĨ¤
-
- āύāĻŋāϰā§āĻŦāĻžāĻāύā§āϰ āĻāĻĒāϰ āĻāĻāĻāĻŋ āĻā§āϰāĻŋāϝāĻŧāĻž āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻāϰāĻžāϰ āĻāύā§āϝ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āĻā§ āϏāϰāĻā§āĻāĻžāĻŽ āϏāϰāĻŦāϰāĻžāĻš āĻāϰāϤā§
ActionMode
āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύāĨ¤ - āĻā§āύ⧠āĻŦā§āϝāĻžāĻā§āϝāĻž āĻāϰāĻž āϏā§āĻā§āύā§āĻĄāĻžāϰāĻŋ āĻā§āϰāĻŋāϝāĻŧāĻž āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻāϰā§āύāĨ¤
-
SelectionTracker.Builder
āĻĻāĻŋāϝāĻŧā§ āϏāĻŦāĻāĻŋāĻā§ āĻāĻāϤā§āϰāĻŋāϤ āĻāϰā§āύāĨ¤ - āĻāĻžāϰā§āϝāĻāϞāĻžāĻĒ āĻā§āĻŦāύāĻāĻā§āϰ āĻāĻā§āύā§āĻ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻ āύā§āϤāϰā§āĻā§āĻā§āϤ.
ItemDetailsLookup
āĻāĻāĻāĻŋ MotionEvent
āĻĒā§āϰāĻĻāϤā§āϤ RecyclerView
āĻāĻāĻā§āĻŽ āϏāĻŽā§āĻĒāϰā§āĻā§ āύāĻŋāϰā§āĻŦāĻžāĻāύ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āϤāĻĨā§āϝ āĻ
ā§āϝāĻžāĻā§āϏā§āϏ āĻāϰāϤ⧠āĻĻā§āϝāĻŧāĨ¤ āĻāĻāĻŋ āĻāĻžāϰā§āϝāĻāϰāĻāĻžāĻŦā§ ItemDetails
āĻĻā§āώā§āĻāĻžāύā§āϤāĻā§āϞāĻŋāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻĢā§āϝāĻžāĻā§āĻāϰāĻŋ āϝāĻž āĻāĻāĻāĻŋ RecyclerView.ViewHolder
āĻāĻĻāĻžāĻšāϰāĻŖ āĻĻā§āĻŦāĻžāϰāĻž āĻŦā§āϝāĻžāĻ āĻāĻĒ āĻāϰāĻž āĻšāϝāĻŧ āĻŦāĻž āϏā§āĻāĻžāύ āĻĨā§āĻā§ āĻŦā§āϰ āĻāϰāĻž āĻšāϝāĻŧ⧎
āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻĒāϰāĻŋāĻŦāϰā§āϤāĻŋāϤ āĻšāϞ⧠āĻŦāĻŋāĻā§āĻāĻĒā§āϤāĻŋ āĻĒāĻžāĻāϝāĻŧāĻžāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ SelectionTracker.SelectionObserver
āύāĻŋāĻŦāύā§āϧāύ āĻāϰā§āύ⧎ āϝāĻāύ āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻĒā§āϰāĻĨāĻŽ āϤā§āϰāĻŋ āĻāϰāĻž āĻšāϝāĻŧ, āϤāĻāύ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰ āĻāĻžāĻā§ āĻāĻāĻŋ āĻāĻĒāϏā§āĻĨāĻžāĻĒāύ āĻāϰāϤ⧠āĻāĻŦāĻ āύāĻŋāϰā§āĻŦāĻžāĻāύ-āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻā§āϰāĻŋāϝāĻŧāĻžāĻā§āϞāĻŋ āĻĒā§āϰāĻĻāĻžāύ āĻāϰāϤ⧠ActionMode
āĻļā§āϰ⧠āĻāϰā§āύāĨ¤ āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻāĻĒāύāĻŋ ActionMode
āĻŦāĻžāϰ⧠āĻāĻāĻāĻŋ āĻĄāĻŋāϞāĻŋāĻ āĻŦā§āϤāĻžāĻŽ āϝā§āĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ āĻāĻŦāĻ āύāĻŋāϰā§āĻŦāĻžāĻāύāĻāĻŋ āϏāĻžāĻĢ āĻāϰāϤ⧠āĻŦāĻžāϰā§āϰ āĻĒāĻŋāĻāύā§āϰ āϤā§āϰāĻāĻŋ āϏāĻāϝā§āĻā§āϤ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ āϝāĻāύ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāĻžāϞāĻŋ āĻšāϝāĻŧā§ āϝāĻžāϝāĻŧ-āϝāĻĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻļā§āώāĻŦāĻžāϰ āύāĻŋāϰā§āĻŦāĻžāĻāύāĻāĻŋ āϏāĻžāĻĢ āĻāϰā§āύ-āĻ
ā§āϝāĻžāĻāĻļāύ āĻŽā§āĻĄ āĻŦāύā§āϧ āĻāϰā§āύāĨ¤
āĻāĻā§āύā§āĻ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻāϰāĻŖ āĻĒāĻžāĻāĻĒāϞāĻžāĻāύā§āϰ āĻļā§āώā§, āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āϝ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻāĻāĻāĻŋ āĻāĻāĻā§āĻŽ āϏāĻā§āϰāĻŋāϝāĻŧ āĻāϰāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰāĻā§āύ, āĻāĻāĻŋ āĻā§āϝāĻžāĻĒ āĻāϰā§, āĻŦāĻž āĻāĻāĻāĻŋ āĻāĻāĻā§āĻŽ āĻŦāĻž āύāĻŋāϰā§āĻŦāĻžāĻāĻŋāϤ āĻāĻāĻā§āĻŽāĻā§āϞāĻŋāϰ āϏā§āĻ āĻā§āύ⧠āĻāύāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰāĻā§āύ⧎ āĻāĻĒāϝā§āĻā§āϤ āĻļā§āϰā§āϤāĻž āύāĻŋāĻŦāύā§āϧāύ āĻāϰ⧠āĻāĻ āĻŦā§āϝāĻžāĻā§āϝāĻžāĻā§āϞāĻŋāϤ⧠āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻāĻžāύāĻžāύāĨ¤ āĻāϰāĻ āϤāĻĨā§āϝā§āϰ āĻāύā§āϝ, SelectionTracker.Builder
āĻĻā§āĻā§āύāĨ¤
āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻāĻĻāĻžāĻšāϰāĻŖ āĻĻā§āĻāĻžāϝāĻŧ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻ āĻā§āĻāϰāĻž āĻāĻāϏāĻžāĻĨā§ āϰāĻžāĻāĻž:
āĻā§āĻāϞāĻŋāύ
var tracker = SelectionTracker.Builder( "my-selection-id", recyclerView, StableIdKeyProvider(recyclerView), MyDetailsLookup(recyclerView), StorageStrategy.createLongStorage()) .withOnItemActivatedListener(myItemActivatedListener) .build()
āĻāĻžāĻāĻž
SelectionTracker tracker = new SelectionTracker.Builder<>( "my-selection-id", recyclerView, new StableIdKeyProvider(recyclerView), new MyDetailsLookup(recyclerView), StorageStrategy.createLongStorage()) .withOnItemActivatedListener(myItemActivatedListener) .build();
āĻāĻāĻāĻŋ SelectionTracker
āĻĻā§āώā§āĻāĻžāύā§āϤ āϤā§āϰāĻŋ āĻāϰāϤā§, āĻāĻĒāύāĻžāϰ āĻ
ā§āϝāĻžāĻĒāĻāĻŋāĻā§ āĻ
āĻŦāĻļā§āϝāĻ āĻāĻāĻ RecyclerView.Adapter
āϏāϰāĻŦāϰāĻžāĻš āĻāϰāϤ⧠āĻšāĻŦā§ āϝāĻž āĻāĻĒāύāĻŋ SelectionTracker.Builder
āĻĨā§āĻā§ RecyclerView
āĻāϰāĻŽā§āĻ āĻāϰāϤ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύāĨ¤ āĻāĻ āĻāĻžāϰāĻŖā§, āĻāĻĒāύāĻŋ SelectionTracker
āĻāύā§āϏāĻā§āϝāĻžāύā§āϏ āϤā§āϰāĻŋ āĻāϰāĻžāϰ āĻĒāϰā§, āĻāĻāĻŋ āĻāĻĒāύāĻžāϰ RecyclerView.Adapter
āĻ āĻāύāĻā§āĻā§āĻ āĻāϰā§āύāĨ¤ āĻ
āύā§āϝāĻĨāĻžāϝāĻŧ, āĻāĻĒāύāĻŋ onBindViewHolder()
āĻĒāĻĻā§āϧāϤāĻŋ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻāĻāĻā§āĻŽā§āϰ āύāĻŋāϰā§āĻŦāĻžāĻāĻŋāϤ āϏā§āĻĨāĻŋāϤāĻŋ āĻĒāϰā§āĻā§āώāĻž āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦā§āύ āύāĻžāĨ¤
āĻ
ā§āϝāĻžāĻā§āĻāĻŋāĻāĻŋāĻāĻŋ āϞāĻžāĻāĻĢāϏāĻžāĻāĻā§āϞ āĻāĻā§āύā§āĻ āĻā§āĻĄāĻŧā§ āύāĻŋāϰā§āĻŦāĻžāĻāύā§āϰ āĻ
āĻŦāϏā§āĻĨāĻž āϏāĻāϰāĻā§āώāĻŖ āĻāϰāϤā§, āĻāĻĒāύāĻžāϰ āĻ
ā§āϝāĻžāĻĒāĻāĻŋāĻā§ āĻ
āĻŦāĻļā§āϝāĻ āĻ
ā§āϝāĻžāĻā§āĻāĻŋāĻāĻŋāĻāĻŋāϰ onSaveInstanceState()
āĻāĻŦāĻ onRestoreInstanceState()
āĻĒāĻĻā§āϧāϤāĻŋāĻā§āϞāĻŋ āĻĨā§āĻā§ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻā§āϰā§āϝāĻžāĻāĻžāϰā§āϰ onSaveInstanceState()
āĻāĻŦāĻ onRestoreInstanceState()
āĻĒāĻĻā§āϧāϤāĻŋāϤ⧠āĻāϞ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āĻāĻĒāύāĻžāϰ āĻ
ā§āϝāĻžāĻĒāĻāĻŋāĻā§ āĻ
āĻŦāĻļā§āϝāĻ SelectionTracker.Builder
āĻāύāϏā§āĻā§āϰāĻžāĻā§āĻāϰāĻā§ āĻāĻāĻāĻŋ āĻ
āύāύā§āϝ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāĻāĻĄāĻŋ āϏāϰāĻŦāϰāĻžāĻš āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āĻāĻ āĻāĻāĻĄāĻŋāĻāĻŋ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻāĻžāϰāĻŖ āĻāĻāĻāĻŋ āĻāĻžāϰā§āϝāĻāϞāĻžāĻĒ āĻŦāĻž āĻāĻāĻāĻŋ āĻāĻŖā§āĻĄā§āϰ āĻāĻāĻžāϧāĻŋāĻ āϏā§āĻŦāϤāύā§āϤā§āϰ, āύāĻŋāϰā§āĻŦāĻžāĻāύāϝā§āĻā§āϝ āϤāĻžāϞāĻŋāĻāĻž āĻĨāĻžāĻāϤ⧠āĻĒāĻžāϰā§, āϝāĻžāϰ āϏāĻŦāĻāĻāĻŋ āϤāĻžāĻĻā§āϰ āϏāĻāϰāĻā§āώāĻŋāϤ āĻ
āĻŦāϏā§āĻĨāĻžāϝāĻŧ āĻāĻŋāĻā§ āĻĨāĻžāĻāϤ⧠āĻšāĻŦā§āĨ¤
āĻ āϤāĻŋāϰāĻŋāĻā§āϤ āϏāĻŽā§āĻĒāĻĻ
āĻ āϤāĻŋāϰāĻŋāĻā§āϤ āϤāĻĨā§āϝā§āϰ āĻāύā§āϝ āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āϰā§āĻĢāĻžāϰā§āύā§āϏ āĻĻā§āĻā§āύ.
- āϏā§āϰā§āϝāĻŽā§āĻā§ āĻĄā§āĻŽā§ āĻ
ā§āϝāĻžāĻĒ , āϝāĻž
RecyclerView
āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤ - āĻāĻāĻāĻŋ āϏā§āĻā§āϰā§āϞāϝā§āĻā§āϝ āϤāĻžāϞāĻŋāĻāĻž āĻā§āĻĄāϞā§āϝāĻžāĻŦ āĻĒā§āϰāĻĻāϰā§āĻļāύ āĻāϰāϤ⧠RecyclerView āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ āĨ¤
- āĻ ā§āϝāĻžāύā§āĻĄā§āϰāϝāĻŧā§āĻĄ āĻā§āĻāϞāĻŋāύ āĻĢāĻžāύā§āĻĄāĻžāĻŽā§āύā§āĻāĻžāϞāϏ: āϰāĻŋāϏāĻžāĻāĻā§āϞāĻžāϰāĻāĻŋāĻ āĻĢāĻžāύā§āĻĄāĻžāĻŽā§āύā§āĻāĻžāϞ āĻā§āĻĄāϞā§āϝāĻžāĻŦāĨ¤