I am a beginner in Android Development. When I learned about CheckBox, it's a widget extending compoundbutton and CheckedTextView, widget extending TextView and implements Checkable Interface. When I searched on google, I found no results. Actually, what is the difference between them, If I am using ListView or RecyclerView with CheckBox ability. Which is the better option CheckBox or CheckedTextView?
difference between checkbox and checkedtextview in Android? Which to use for RecyclerView?
2.3k Views Asked by Athira Reddy AtThere are 4 best solutions below
On
so to set item in recyclerview first define the itemLayout as below
<CheckBox
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/dialog_checklist_checkbox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="text"
android:padding="5dp"
android:gravity="center"
/>
now in recyclerview you can use the checbox properties such as
holder.checkBox.setText("position"+position);
to set the text of respective checkbox.
you can also use other properties of checkbox such as
holder.checkBox.setOnCheckedChangeListener();
and recyclerview is improved version of listview so try to use recyclerview.
On
As recommended from @LarsH I've turned my comment into an answer instead.
The differences is CheckedTextView doesn't have a checked/click event, see here why
Therefore if you want to have checked/click event for free (you can customize the checked/click listener by yourself) choose CheckBox and its alignment by default is (left aligned TextView & right aligned CheckBox)
You might want to align the TextView's text position (optional: if you want to align into different position, e.g: right aligned TextView & left aligned CheckBox)
Then use it on your RecyclerView holder
On
To supplement the other answers, here is a visual comparison between CheckBox and CheckedTextView. This is running in an emulated Pixel 3 under Android R. Each of these screenshots shows three views inside a vertical LinearLayout.
If you don't specify the checkMark attribute, you get no checkbox on the CheckedTextView:
with android:checkMark="?android:attr/listChoiceIndicatorSingle":
with android:checkMark="?android:attr/listChoiceIndicatorMultiple":
There are other differences, but they're covered by other answers.



CheckBox: Is a specific type of 2 states button that can be either checked or unchecked.
CheckedTextView: Is a TextView with 2 states check and unchecked.
The text is the different between both views, so depend in what you want to do.
About the second question,
RecyclerViewwas created as aListViewimprovement.