亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

安卓checkedbox 的疑問

安卓checkedbox 的疑問

慕粉4241372 2017-06-25 10:03:26
protected?void?onCreate(Bundle?savedInstanceState)?{ ????super.onCreate(savedInstanceState); ????setContentView(R.layout.secondactivity); ????read?=?(CheckBox)?findViewById(R.id.read); ????sport?=?(CheckBox)?findViewById(R.id.sport); ????think?=?(CheckBox)?findViewById(R.id.think); ????MyCheckBox?myCheckBox?=?new?MyCheckBox(); ????read.setOnCheckedChangeListener(myCheckBox); ????sport.setOnCheckedChangeListener(myCheckBox); ????think.setOnCheckedChangeListener(myCheckBox); } class?MyCheckBox?implements?CompoundButton.OnCheckedChangeListener{ ????@Override ????public?void?onCheckedChanged(CompoundButton?compoundButton,?boolean?b)?{ ????????CheckBox?checkBox?=?(CheckBox)?compoundButton; ????????switch?(checkBox.getId()){ ????????????case?R.id.read: ????????????????Toast.makeText(MainActivity.this,"你選擇了讀書選項"+b,Toast.LENGTH_SHORT).show(); ????????????case?R.id.sport: ????????????????Toast.makeText(MainActivity.this,"你選擇了運動選項"+b,Toast.LENGTH_SHORT).show(); ????????????case?R.id.think: ????????????????Toast.makeText(MainActivity.this,?"你選擇了發呆選項"+b,?Toast.LENGTH_SHORT).show(); ????????} ????} }3個checkbox,添加了checkedchang事件。我發現,case里面,沒有添加break的情況下第一個read被點擊了,會依次彈出 “你選擇了讀書選項true“+”你選擇了運動選項true”+“你選擇了發呆選true”而點第二個sport,則會彈出”你選擇了運動選項true”+“你選擇了發呆選true”點最后一個think則只彈出一個“你選擇了發呆選true”相當于,點擊前面的按鈕,則后面全都會彈出來出來,這是為什么?
查看完整描述

1 回答

已采納
?
望遠

TA貢獻1017條經驗 獲得超1032個贊

這不是JAVA基礎的知識嗎?

switch多分支語句的貫穿現象。

具體表現為:一旦switch語句的case匹配成功,則進入執行,直到遇到break跳出,或者是執行完整個switch語句,不管后方的case是否匹配成功。

所以當有default分支的時候,我們一般把default分支放到最后處理不匹配所有case的情況。

查看完整回答
反對 回復 2017-06-25
  • 慕粉4241372
    慕粉4241372
    哇擦擦,居然不知道這個知識點,看來我java基礎很不好
  • 望遠
    望遠
    嗯,穩扎穩打,共勉!
  • 1 回答
  • 0 關注
  • 1444 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號