Android 的CompoundButton(抽象类按钮)、StringBuffer(字符串变量)
生活随笔
收集整理的這篇文章主要介紹了
Android 的CompoundButton(抽象类按钮)、StringBuffer(字符串变量)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、寫在前面的話
本人40歲純小白一枚,最近對Android APP有了興趣,目前的任務(wù):通過Android Studio 利用Apche poi 、EasyExcel等第三方庫,編寫APP,實(shí)現(xiàn)移動端APP 與后臺Excel的數(shù)據(jù)交互。
這次利用CSDN平臺記錄下自己的成長。
純屬小白,有概念或者描述錯(cuò)誤,希望大佬們不吝賜教,再此謝過。
2、任務(wù)目標(biāo)
目前正在學(xué)習(xí)這本書,在做P110頁的作業(yè)時(shí),發(fā)現(xiàn)的問題:
2.1 第一種想法,已近在大佬的幫助下解決,就是利用CompoundButton(抽象類按鈕)設(shè)置一個(gè)監(jiān)聽器,根據(jù)監(jiān)聽器的名稱(listener),監(jiān)聽全部的CheckBox控件,只需要為CheckBox的setOnCheckedChangeListener監(jiān)聽器設(shè)置相同的名稱即可。格式為chb1.setOnCheckedChangeListener(listener)。
2.2一次性獲取到 全部的已選項(xiàng)text屬性的想法,卻沒有實(shí)現(xiàn)。直到今天碰到了StringBuffer(字符串變量)便想利用其append的字符串追加方法,來實(shí)現(xiàn)。
3.思路:利用CompoundButton監(jiān)控所有CheckBox,當(dāng)判斷某一個(gè)被選中時(shí),利用StringBuffer的append方法,完成字符串的連接。
3、實(shí)現(xiàn)過程
3.1布局文件的編寫
===================省略= ===============
3.1邏輯的實(shí)現(xiàn)
public class MainActivity extends AppCompatActivity { //1.定義不同類型的變量public CheckBox chb1, chb2, chb3, chb4, chb5, chb6, chb7, chb8, chb9, chb10, chb11;public Button btn1;public StringBuffer buffer; //注意:buffer變量為StringBuffer類型(它的初始化方法也不同,下面會有注釋)@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//2.獲取CheckBox控件chb1 = findViewById(R.id.chb1);chb2 = findViewById(R.id.chb2);chb3 = findViewById(R.id.chb3);chb4 = findViewById(R.id.chb4);chb5 = findViewById(R.id.chb5);chb6 = findViewById(R.id.chb6);chb7 = findViewById(R.id.chb7);chb8 = findViewById(R.id.chb8);chb9 = findViewById(R.id.chb9);chb10 = findViewById(R.id.chb10);chb11 = findViewById(R.id.chb11);//添加CompoundButton的“勾選狀態(tài)變化監(jiān)聽器”(OnCheckedChangeListener),其中l(wèi)istener為監(jiān)聽器名稱CompoundButton.OnCheckedChangeListener listener = new CompoundButton.OnCheckedChangeListener() {@Override//監(jiān)聽器的onCheckedChanged事件public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {buffer = new StringBuffer(); //初始化buffer字符串變量if (chb1.isChecked()){ //如果chb1被選中//獲取chb1的Text,利用 buffer的append方法,將字符串追加到 buffer變量中去,以下的判斷邏輯,于此相同,不再贅述。buffer.append(chb1.getText().toString()+" "); }if (chb2.isChecked()){buffer.append(chb2.getText().toString()+" ");}if (chb3.isChecked()){buffer.append(chb3.getText().toString()+" ");}if (chb4.isChecked()){buffer.append(chb4.getText().toString()+" ");}if (chb5.isChecked()){buffer.append(chb5.getText().toString()+" ");}if (chb6.isChecked()){buffer.append(chb6.getText().toString()+" ");}if (chb7.isChecked()){buffer.append(chb7.getText().toString()+" ");}if (chb8.isChecked()){buffer.append(chb8.getText().toString()+" ");}if (chb9.isChecked()){buffer.append(chb9.getText().toString()+" ");}if (chb10.isChecked()){buffer.append(chb10.getText().toString()+" ");}if (chb11.isChecked()){buffer.append(chb11.getText().toString()+" ");}Toast.makeText(MainActivity.this, "您選中的是:" + buffer, Toast.LENGTH_SHORT).show();}};//為其余CheckBox的setOnCheckedChangeListener監(jiān)視器設(shè)置相同的監(jiān)聽器名稱(listener),以實(shí)現(xiàn)抽象類按鈕CompoundButton對其的監(jiān)聽。chb1.setOnCheckedChangeListener(listener);chb2.setOnCheckedChangeListener(listener);chb3.setOnCheckedChangeListener(listener);chb4.setOnCheckedChangeListener(listener);chb5.setOnCheckedChangeListener(listener);chb6.setOnCheckedChangeListener(listener);chb7.setOnCheckedChangeListener(listener);chb8.setOnCheckedChangeListener(listener);chb9.setOnCheckedChangeListener(listener);chb10.setOnCheckedChangeListener(listener);chb11.setOnCheckedChangeListener(listener);} }4、總結(jié)
總結(jié)
以上是生活随笔為你收集整理的Android 的CompoundButton(抽象类按钮)、StringBuffer(字符串变量)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows界面UI自绘编程(上)之下
- 下一篇: 最强推荐:Android攒了一个月的面试