Site icon C1CTech

Android CheckedTextView Example

<h3><span style&equals;"color&colon; &num;000080&semi;"><strong>Checked TextView<&sol;strong><&sol;span><&sol;h3>&NewLine;<p><strong><span style&equals;"color&colon; &num;008000&semi;">CheckedTextView<&sol;span><&sol;strong> is an extension of normal <strong><span style&equals;"color&colon; &num;008000&semi;">TextView<&sol;span><&sol;strong> that has a checkbox along with some text&period; It is mainly used in a <span style&equals;"color&colon; &num;008000&semi;"><strong>ListView <&sol;strong><&sol;span>where we want to show which item is selected or not&period; <strong><span style&equals;"color&colon; &num;008000&semi;">Checkmark <&sol;span><&sol;strong>attribute is used to provide a graphic or a drawable to CheckedTextView&period;<&sol;p>&NewLine;<p>Download <strong><span style&equals;"color&colon; &num;008000&semi;">GITHUB<&sol;span> <&sol;strong>code from <span style&equals;"color&colon; &num;0000ff&semi;"><a style&equals;"color&colon; &num;0000ff&semi;" href&equals;"https&colon;&sol;&sol;github&period;com&sol;arunk7839&sol;CheckedTextViewExp"><strong>Here<&sol;strong><&sol;a><&sol;span>&period;<&sol;p>&NewLine;<p><span class&equals;"embed-youtube" style&equals;"text-align&colon;center&semi; display&colon; block&semi;"><amp-youtube data-videoid&equals;"ZuGVJdicKdA" data-param-rel&equals;"1" data-param-showsearch&equals;"0" data-param-showinfo&equals;"1" data-param-iv&lowbar;load&lowbar;policy&equals;"1" data-param-fs&equals;"1" data-param-hl&equals;"en-US" data-param-autohide&equals;"2" data-param-wmode&equals;"transparent" width&equals;"1200" height&equals;"675" layout&equals;"responsive"><a href&equals;"https&colon;&sol;&sol;www&period;youtube&period;com&sol;watch&quest;v&equals;ZuGVJdicKdA" placeholder><amp-img src&equals;"https&colon;&sol;&sol;i&period;ytimg&period;com&sol;vi&sol;ZuGVJdicKdA&sol;hqdefault&period;jpg" alt&equals;"YouTube Poster" layout&equals;"fill" object-fit&equals;"cover"><noscript><img src&equals;"https&colon;&sol;&sol;i&period;ytimg&period;com&sol;vi&sol;ZuGVJdicKdA&sol;hqdefault&period;jpg" loading&equals;"lazy" decoding&equals;"async" alt&equals;"YouTube Poster"><&sol;noscript><&sol;amp-img><&sol;a><&sol;amp-youtube><&sol;span><&sol;p>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<h3><span style&equals;"color&colon; &num;000080&semi;"><strong>Creating New Project<&sol;strong><&sol;span><&sol;h3>&NewLine;<p><strong><span style&equals;"color&colon; &num;0000ff&semi;">1&period;<&sol;span><&sol;strong> In Android Studio&comma; go to <span style&equals;"color&colon; &num;008000&semi;"><strong>File <&sol;strong><strong>&Implies;<&sol;strong><strong> New Project<&sol;strong><&sol;span> and fill all the details required to create a new project&period; When it prompts to select a default activity&comma; select <span style&equals;"color&colon; &num;008000&semi;"><strong>Blank Activity<&sol;strong><&sol;span> and proceed&period;<&sol;p>&NewLine;<p><strong><span style&equals;"color&colon; &num;0000ff&semi;">2&period; <&sol;span><&sol;strong>Open <span style&equals;"color&colon; &num;008000&semi;"><strong>build&period;gradle<&sol;strong><&sol;span> and add <span style&equals;"color&colon; &num;008000&semi;"><strong>recyclerView<&sol;strong> <&sol;span>dependency&period;<&sol;p>&NewLine;<p><span style&equals;"color&colon; &num;008000&semi;"><strong>com&period;android&period;support&colon;recyclerview-v7&colon;26&period;1&period;0<&sol;strong><&sol;span> and rebuild the project&period;<&sol;p>&NewLine;<p><span style&equals;"color&colon; &num;0000ff&semi;"><strong>Build&period;gradle<&sol;strong><&sol;span><&sol;p>&NewLine;<pre><strong>dependencies &lbrace;<&sol;strong>&NewLine;&NewLine;<span style&equals;"color&colon; &num;008000&semi;"><strong>&sol;&sol; RecyclerView<&sol;strong><&sol;span>&NewLine;<strong> implementation<&sol;strong> <span style&equals;"color&colon; &num;0000ff&semi;"><strong>'com&period;android&period;support&colon;recyclerview-v7&colon;26&period;1&period;0'<&sol;strong><&sol;span>&NewLine;&NewLine;&rcub;<&sol;pre>&NewLine;<p><strong><span style&equals;"color&colon; &num;0000ff&semi;">3&period; <&sol;span><&sol;strong>In <span style&equals;"color&colon; &num;008000&semi;"><strong>activity&lowbar;main&period;xml<&sol;strong><&sol;span> I have added one <span style&equals;"color&colon; &num;008000&semi;"><strong>RecyclerView<&sol;strong><&sol;span> with the following basic properties&period;<&sol;p>&NewLine;<p><span style&equals;"color&colon; &num;0000ff&semi;"><strong>activity&lowbar;main&period;xml<&sol;strong><&sol;span><br &sol;>&NewLine;<code><&sol;code><&sol;p>&NewLine;<pre><strong>&lt&semi;&quest;xml version&equals;"1&period;0" encoding&equals;"utf-8"&quest;&gt&semi;<&sol;strong>&NewLine;<strong>&lt&semi;RelativeLayout xmlns&colon;android&equals;"http&colon;&sol;&sol;schemas&period;android&period;com&sol;apk&sol;res&sol;android"<&sol;strong>&NewLine;<strong> xmlns&colon;tools&equals;"http&colon;&sol;&sol;schemas&period;android&period;com&sol;tools"<&sol;strong>&NewLine;<strong> android&colon;layout&lowbar;width&equals;"match&lowbar;parent"<&sol;strong>&NewLine;<strong> android&colon;layout&lowbar;height&equals;"match&lowbar;parent"<&sol;strong>&NewLine;<strong> tools&colon;context&equals;"com&period;example&period;lenovo&period;checkedtextviewapp&period;MainActivity"&gt&semi;<&sol;strong>&NewLine;&NewLine;<strong> &lt&semi;android&period;support&period;v7&period;widget&period;RecyclerView<&sol;strong>&NewLine;<strong> android&colon;id&equals;"&commat;&plus;id&sol;recycler&lowbar;view"<&sol;strong>&NewLine;<strong> android&colon;layout&lowbar;width&equals;"match&lowbar;parent"<&sol;strong>&NewLine;<strong> android&colon;layout&lowbar;height&equals;"match&lowbar;parent"&gt&semi;<&sol;strong>&NewLine;&NewLine;<strong> &lt&semi;&sol;android&period;support&period;v7&period;widget&period;RecyclerView&gt&semi;<&sol;strong>&NewLine;&NewLine;<strong>&lt&semi;&sol;RelativeLayout&gt&semi;<&sol;strong>&NewLine;&NewLine;<&sol;pre>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<h3><span style&equals;"color&colon; &num;000080&semi;"><strong>Writing the Adapter Class<&sol;strong><&sol;span><&sol;h3>&NewLine;<p>After adding the RecyclerView widget&comma; let’s start writing the <strong><span style&equals;"color&colon; &num;008000&semi;">adapter<&sol;span> <&sol;strong>class to render the data&period;<&sol;p>&NewLine;<p><strong><span style&equals;"color&colon; &num;0000ff&semi;">4&period; <&sol;span><&sol;strong>Create an layout xml named <span style&equals;"color&colon; &num;008000&semi;"><strong>row&lowbar;item&period;xml<&sol;strong><&sol;span> with the below code&period; This layout file shows a single row in recycler view &period;<&sol;p>&NewLine;<p><span style&equals;"color&colon; &num;0000ff&semi;"><strong>row&lowbar;item&period;xml<&sol;strong><&sol;span><br &sol;>&NewLine;<code><&sol;code><&sol;p>&NewLine;<pre><strong>&lt&semi;&quest;xml version&equals;"1&period;0" encoding&equals;"utf-8"&quest;&gt&semi;<&sol;strong>&NewLine;<strong>&lt&semi;LinearLayout xmlns&colon;android&equals;"http&colon;&sol;&sol;schemas&period;android&period;com&sol;apk&sol;res&sol;android"<&sol;strong>&NewLine;<strong> android&colon;layout&lowbar;width&equals;"match&lowbar;parent"<&sol;strong>&NewLine;<strong> android&colon;layout&lowbar;height&equals;"wrap&lowbar;content"&gt&semi;<&sol;strong>&NewLine;&NewLine;&NewLine;<strong> &lt&semi;CheckedTextView<&sol;strong>&NewLine;<strong> android&colon;id&equals;"&commat;&plus;id&sol;simpleCheckedTextView"<&sol;strong>&NewLine;<strong> android&colon;layout&lowbar;width&equals;"match&lowbar;parent"<&sol;strong>&NewLine;<strong> android&colon;layout&lowbar;height&equals;"wrap&lowbar;content"<&sol;strong>&NewLine;<strong> android&colon;layout&lowbar;marginLeft&equals;"5dp"<&sol;strong>&NewLine;<strong> android&colon;layout&lowbar;marginRight&equals;"5dp"<&sol;strong>&NewLine;<strong> android&colon;layout&lowbar;marginTop&equals;"18dp"<&sol;strong>&NewLine;<strong> android&colon;checked&equals;"false"<&sol;strong>&NewLine;<strong> android&colon;gravity&equals;"center&lowbar;vertical"<&sol;strong>&NewLine;<strong> android&colon;padding&equals;"8dp"<&sol;strong>&NewLine;<strong> android&colon;textSize&equals;"18sp" &sol;&gt&semi;<&sol;strong>&NewLine;&NewLine;<strong>&lt&semi;&sol;LinearLayout&gt&semi;<&sol;strong>&NewLine;&NewLine;<&sol;pre>&NewLine;<p><strong><span style&equals;"color&colon; &num;0000ff&semi;">5&period; <&sol;span><&sol;strong>Now create a class named <span style&equals;"color&colon; &num;008000&semi;"><strong>SingerAdapter&period;java<&sol;strong><&sol;span> and add the below code&period;<&sol;p>&NewLine;<ul>&NewLine;<li><strong><span style&equals;"color&colon; &num;0000ff&semi;">onCreateViewHolder&lpar;&rpar; <&sol;span>&colon; <&sol;strong>Inflates <span style&equals;"color&colon; &num;008000&semi;"><strong>row&lowbar;item&period;xml<&sol;strong>&period;<&sol;span><&sol;li>&NewLine;<li><span style&equals;"color&colon; &num;0000ff&semi;"><strong>onBindViewHolder&lpar;&rpar;<&sol;strong><&sol;span> <strong>&colon; <&sol;strong>Set singersname In checkedTextView and apply <strong><span style&equals;"color&colon; &num;008000&semi;">onClickListener<&sol;span><&sol;strong> on each item of recyclerView&period;<&sol;li>&NewLine;<li><strong><span style&equals;"color&colon; &num;0000ff&semi;">getItemCount&lpar;&rpar; <&sol;span>&colon; <&sol;strong>Retuns the array <strong><span style&equals;"color&colon; &num;008000&semi;">length&period;<&sol;span><&sol;strong><&sol;li>&NewLine;<&sol;ul>&NewLine;<p><span style&equals;"color&colon; &num;0000ff&semi;"><strong>SingerAdapter&period;java<&sol;strong> <&sol;span><br &sol;>&NewLine;<code><&sol;code><&sol;p>&NewLine;<&excl;-- WP QUADS Content Ad Plugin v&period; 2&period;0&period;98&period;1 -->&NewLine;<div class&equals;"quads-location quads-ad2" id&equals;"quads-ad2" style&equals;"float&colon;none&semi;margin&colon;0px&semi;">&NewLine;&NewLine;<&sol;div>&NewLine;&NewLine;<pre><strong>package com&period;example&period;lenovo&period;checkedtextviewapp&semi;<&sol;strong>&NewLine;&NewLine;<strong>import android&period;content&period;Context&semi;<&sol;strong>&NewLine;<strong>import android&period;support&period;v7&period;widget&period;RecyclerView&semi;<&sol;strong>&NewLine;<strong>import android&period;view&period;LayoutInflater&semi;<&sol;strong>&NewLine;<strong>import android&period;view&period;View&semi;<&sol;strong>&NewLine;<strong>import android&period;view&period;ViewGroup&semi;<&sol;strong>&NewLine;<strong>import android&period;widget&period;CheckedTextView&semi;<&sol;strong>&NewLine;<strong>import android&period;widget&period;Toast&semi;<&sol;strong>&NewLine;&NewLine;&NewLine;<strong>public class SingerAdapter extends RecyclerView&period;Adapter&lt&semi;SingerAdapter&period;MyViewHolder&gt&semi; &lbrace;<&sol;strong>&NewLine;&NewLine;<strong> private String&lbrack;&rsqb; singersName&semi;<&sol;strong>&NewLine;<strong> Context context&semi;<&sol;strong>&NewLine;&NewLine;&NewLine;<strong> public SingerAdapter&lpar;Context context&comma; String&lbrack;&rsqb; booknames&rpar; &lbrace;<&sol;strong>&NewLine;<strong> this&period;singersName &equals; booknames&semi;<&sol;strong>&NewLine;<strong> this&period;context &equals; context&semi;<&sol;strong>&NewLine;<strong> &rcub;<&sol;strong>&NewLine;&NewLine;<strong> public class MyViewHolder extends RecyclerView&period;ViewHolder &lbrace;<&sol;strong>&NewLine;<strong> CheckedTextView simpleCheckedTextView&semi;<&sol;strong>&NewLine;&NewLine;<strong> public MyViewHolder&lpar;View view&rpar; &lbrace;<&sol;strong>&NewLine;<strong> super&lpar;view&rpar;&semi;<&sol;strong>&NewLine;<strong> simpleCheckedTextView &equals; &lpar;CheckedTextView&rpar; view&period;findViewById&lpar;R&period;id&period;simpleCheckedTextView&rpar;&semi;<&sol;strong>&NewLine;&NewLine;<strong> &rcub;<&sol;strong>&NewLine;<strong> &rcub;<&sol;strong>&NewLine;&NewLine;<strong> &commat;Override<&sol;strong>&NewLine;<strong> public MyViewHolder onCreateViewHolder&lpar;ViewGroup parent&comma; int viewType&rpar; &lbrace;<&sol;strong>&NewLine;<strong> View itemView &equals; LayoutInflater&period;from&lpar;parent&period;getContext&lpar;&rpar;&rpar;&period;inflate&lpar;R&period;layout&period;row&lowbar;item&comma; parent&comma; false&rpar;&semi;<&sol;strong>&NewLine;<strong> return new MyViewHolder&lpar;itemView&rpar;&semi;<&sol;strong>&NewLine;&NewLine;<strong> &rcub;<&sol;strong>&NewLine;&NewLine;<strong> &commat;Override<&sol;strong>&NewLine;<strong> public void onBindViewHolder&lpar;final MyViewHolder holder&comma; int position&rpar; &lbrace;<&sol;strong>&NewLine;&NewLine;<strong> holder&period;simpleCheckedTextView&period;setText&lpar;singersName&lbrack;position&rsqb;&rpar;&semi;<&sol;strong>&NewLine;&NewLine;<span style&equals;"color&colon; &num;008000&semi;"><strong> &sol;&sol; perform on Click Event Listener on CheckedTextView<&sol;strong><&sol;span>&NewLine;<strong> holder&period;simpleCheckedTextView&period;setOnClickListener&lpar;new View&period;OnClickListener&lpar;&rpar; &lbrace;<&sol;strong>&NewLine;<strong> &commat;Override<&sol;strong>&NewLine;<strong> public void onClick&lpar;View v&rpar; &lbrace;<&sol;strong>&NewLine;<strong> Boolean value &equals; holder&period;simpleCheckedTextView&period;isChecked&lpar;&rpar;&semi;<&sol;strong>&NewLine;<strong> if &lpar;value&rpar; &lbrace;<&sol;strong>&NewLine;<span style&equals;"color&colon; &num;008000&semi;"><strong> &sol;&sol; set check mark drawable and set checked property to false<&sol;strong>&NewLine;<&sol;span>&NewLine;<strong> holder&period;simpleCheckedTextView&period;setCheckMarkDrawable&lpar;R&period;drawable&period;check&lowbar;ic&rpar;&semi;<&sol;strong>&NewLine;<strong> holder&period;simpleCheckedTextView&period;setChecked&lpar;false&rpar;&semi;<&sol;strong>&NewLine;<strong> Toast&period;makeText&lpar;context&comma; "un-Checked"&comma; Toast&period;LENGTH&lowbar;LONG&rpar;&period;show&lpar;&rpar;&semi;<&sol;strong>&NewLine;<strong> &rcub; else &lbrace;<&sol;strong>&NewLine;<span style&equals;"color&colon; &num;008000&semi;"><strong> &sol;&sol; set check mark drawable and set checked property to true<&sol;strong><&sol;span>&NewLine;&NewLine;<strong> holder&period;simpleCheckedTextView&period;setCheckMarkDrawable&lpar;R&period;drawable&period;check&rpar;&semi;<&sol;strong>&NewLine;<strong> holder&period;simpleCheckedTextView&period;setChecked&lpar;true&rpar;&semi;<&sol;strong>&NewLine;<strong> Toast&period;makeText&lpar;context&comma; "Checked"&comma; Toast&period;LENGTH&lowbar;LONG&rpar;&period;show&lpar;&rpar;&semi;<&sol;strong>&NewLine;<strong> &rcub;<&sol;strong>&NewLine;<strong> &rcub;<&sol;strong>&NewLine;<strong> &rcub;&rpar;&semi;<&sol;strong>&NewLine;&NewLine;<strong> &rcub;<&sol;strong>&NewLine;&NewLine;<strong> &commat;Override<&sol;strong>&NewLine;<strong> public int getItemCount&lpar;&rpar; &lbrace;<&sol;strong>&NewLine;<strong> return singersName&period;length&semi;<&sol;strong>&NewLine;<strong> &rcub;<&sol;strong>&NewLine;<strong>&rcub;<&sol;strong>&NewLine;<&sol;pre>&NewLine;<p><strong><span style&equals;"color&colon; &num;0000ff&semi;">6&period; <&sol;span><&sol;strong>Now open  <span style&equals;"color&colon; &num;008000&semi;"><strong>MainActivity&period;java<&sol;strong><&sol;span> and write the below code&period;<&sol;p>&NewLine;<p><span style&equals;"color&colon; &num;0000ff&semi;"><strong>MainActivity&period;java<&sol;strong><&sol;span><br &sol;>&NewLine;<code><&sol;code><&sol;p>&NewLine;<pre><strong>package com&period;example&period;lenovo&period;checkedtextviewapp&semi;<&sol;strong>&NewLine;&NewLine;<strong>import android&period;support&period;v7&period;app&period;AppCompatActivity&semi;<&sol;strong>&NewLine;<strong>import android&period;os&period;Bundle&semi;<&sol;strong>&NewLine;<strong>import android&period;support&period;v7&period;widget&period;DividerItemDecoration&semi;<&sol;strong>&NewLine;<strong>import android&period;support&period;v7&period;widget&period;LinearLayoutManager&semi;<&sol;strong>&NewLine;<strong>import android&period;support&period;v7&period;widget&period;RecyclerView&semi;<&sol;strong>&NewLine;&NewLine;<strong>public class MainActivity extends AppCompatActivity &lbrace;<&sol;strong>&NewLine;&NewLine;<strong> private RecyclerView recyclerView&semi;<&sol;strong>&NewLine;<strong> private SingerAdapter mAdapter&semi;<&sol;strong>&NewLine;&NewLine;<strong> String&lbrack;&rsqb; singersName &equals; &lbrace;"Mohammad Rafi"&comma; "Lata Mangeshkar"&comma; "Sonu Nigam"&comma; "Kishore Kumar"&comma;<&sol;strong>&NewLine;<strong> "Sreya Ghoshal "&comma;"Asha Bhosle"&comma;"Udit Narayan"&comma;"Alka Yagnik"&rcub;&semi;<&sol;strong>&NewLine;&NewLine;<strong> &commat;Override<&sol;strong>&NewLine;<strong> protected void onCreate&lpar;Bundle savedInstanceState&rpar; &lbrace;<&sol;strong>&NewLine;<strong> super&period;onCreate&lpar;savedInstanceState&rpar;&semi;<&sol;strong>&NewLine;<strong> setContentView&lpar;R&period;layout&period;activity&lowbar;main&rpar;&semi;<&sol;strong>&NewLine;&NewLine;<strong> recyclerView &equals; &lpar;RecyclerView&rpar; findViewById&lpar;R&period;id&period;recycler&lowbar;view&rpar;&semi;<&sol;strong>&NewLine;&NewLine;<strong> mAdapter &equals; new SingerAdapter&lpar;getApplicationContext&lpar;&rpar;&comma; singersName&rpar;&semi;<&sol;strong>&NewLine;&NewLine;&NewLine;<span style&equals;"color&colon; &num;008000&semi;"><strong> &sol;&sol; vertical RecyclerView<&sol;strong>&NewLine; <&sol;span><strong> RecyclerView&period;LayoutManager mLayoutManager &equals; new LinearLayoutManager&lpar;getApplicationContext&lpar;&rpar;&rpar;&semi;<&sol;strong>&NewLine; &NewLine;<strong> <span style&equals;"color&colon; &num;008000&semi;">&sol;&sol; horizontal RecyclerView<&sol;span><&sol;strong>&NewLine;<span style&equals;"color&colon; &num;008000&semi;"><strong> &sol;&sol; RecyclerView&period;LayoutManager mLayoutManager &equals; new LinearLayoutManager&lpar;getApplicationContext&lpar;&rpar;&comma; LinearLayoutManager&period;HORIZONTAL&comma; false&rpar;&semi;<&sol;strong>&NewLine;<&sol;span><strong> recyclerView&period;setLayoutManager&lpar;mLayoutManager&rpar;&semi;<&sol;strong>&NewLine;&NewLine; <span style&equals;"color&colon; &num;008000&semi;"><strong>&sol;&sol; adding inbuilt divider line<&sol;strong><&sol;span>&NewLine;<strong> recyclerView&period;addItemDecoration&lpar;new DividerItemDecoration&lpar;this&comma; LinearLayoutManager&period;VERTICAL&rpar;&rpar;&semi;<&sol;strong>&NewLine;&NewLine;<strong> recyclerView&period;setAdapter&lpar;mAdapter&rpar;&semi;<&sol;strong>&NewLine;&NewLine;<strong> &rcub;<&sol;strong>&NewLine;<strong>&rcub;<&sol;strong>&NewLine;<&sol;pre>&NewLine;<p><span style&equals;"color&colon; &num;0000ff&semi;"><strong>Now when you run the app it will look like this&colon;<&sol;strong><&sol;span><&sol;p>&NewLine;<p><img class&equals;"alignnone wp-image-202" src&equals;"https&colon;&sol;&sol;c1ctech&period;com&sol;wp-content&sol;uploads&sol;2018&sol;03&sol;Screenshot&lowbar;2018-03-08-14-00-521-2267742709-1580997100338&period;png" alt&equals;"Screenshot&lowbar;2018-03-08-14-00-52&lbrack;1&rsqb;" width&equals;"469" height&equals;"704" &sol;>&NewLine;

Exit mobile version