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?
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.
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
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, RecyclerView
was created as a ListView
improvement.
TextView
left aligned & CheckBox
right aligned provided from Google you've got for free @AthiraReddy . Unfortunately CheckedTextView
doesn't have checked/click event, see here: https://mcmap.net/q/342033/-android-checkedtextview-cannot-be-checked so, I choose CheckBox
but customize the TextView align/position (optional) when using RecyclerView
–
Heliocentric 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.
© 2022 - 2024 — McMap. All rights reserved.