欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

RadioButton實(shí)現(xiàn)選擇后可取消選擇

 更新時間:2019年08月20日 17:16:10   作者:天蘭之珠  
這篇文章主要為大家詳細(xì)介紹了RadioButton實(shí)現(xiàn)選擇后可取消選擇,具有一定的參考價值,感興趣的小伙伴們可以參考一下

Radiobutton是一種單選按鈕,是由于RadioGroup管理下的一組按鈕,所以一旦其中的一個button選中,再點(diǎn)擊,就不能取消,想要取消調(diào)用Radiobutton的setchecked(boolean isChecked)的方法。

在網(wǎng)上找了許多法,發(fā)現(xiàn)都實(shí)現(xiàn)不了在RadioGroup中選中Radiobutton后再次點(diǎn)擊取消選中,于是自己查找資料后,最終得到了方法,和大家做個分享。

先看下結(jié)果展示:

本例子展示了2種方式來實(shí)現(xiàn),

 一、第一種實(shí)現(xiàn)方式

一種是單個 Radiobutton進(jìn)行逐個設(shè)置setOnClickListener方法,通過setChecked

改變選中和取消的狀態(tài),這種的問題在于如果有多個Radiobutton,相對而言就非常的耗時。不過我們可以先來看看它的具體實(shí)現(xiàn)。    

mRadioBtDhhs.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
  setHcfs1(v, DHHS);
  }
 });
 
 mRadioBtJmhs.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
  setHcfs1(v, JMHS);
  }
 });
 
 mRadioBtZppd.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
  setHcfs1(v, ZPPD);
  }
 });

setHcfs1方法:

private void setHcfs1(View view, String hcfs) {
 if (hcfs.equals(mHsfs1)) {
  ((RadioButton) view).setChecked(false);
  mHsfs1 = "";
 } else {
  mHsfs1 = hcfs;
  ((RadioButton) view).setChecked(true);
 }
 }

其中的mHsfs1參數(shù)是用來記錄每次選中的值。

二、第二種實(shí)現(xiàn)方式

第二種采用的是RadioGroup.getChildAt(i)的方式設(shè)置所有Radiobutton的setOnClickListener方法。這樣比較靈活,不管是有多少Radiobutton,也不需要額外的操作。

具體實(shí)現(xiàn)如下:

for (int i = 0; i < mRgHstj.getChildCount(); i++) {
  mRgHstj.getChildAt(i).setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
   switch (v.getId()) {
   // 電話核實(shí)
   case R.id.radioBt_dhhs:
    setHcfs(v, DHHS);
    break;
   // 見面核實(shí)
   case R.id.radioBt_jmhs:
    setHcfs(v, JMHS);
    break;
   // 照片判斷
   case R.id.radioBt_zppd:
    setHcfs(v, ZPPD);
    break;
   }
  }
  });
 }

其中mRgHstj是RadioGroup。

setHcfs方法的實(shí)現(xiàn):
 private void setHcfs(View view, String hcfs) {
 if (hcfs.equals(mHsfs)) {
  mRgHstj.clearCheck();
  mHsfs = "";
 } else {
  mHsfs = hcfs;
  mRgHstj.check(view.getId());
 }
 
 }

這里用到了RadioGroup.clearCheck()方法,通過取消所有RadioButton的選中狀態(tài)達(dá)到取消選擇的效果。為什么這邊的實(shí)現(xiàn)不采用mHsfs1這個方法呢。經(jīng)過測試得知在RadioGroup進(jìn)行循環(huán)設(shè)置時 RadioButton.setChecked這個方法起不到改變選中狀態(tài)的效果。采用RadioGroup..check(view.getId())方法進(jìn)行這種選中。

到此就ok了,基本的核心代碼都已經(jīng)給出來了,如果愿意下載的,具體的代碼可以看demo

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Kotlin函數(shù)式編程超詳細(xì)介紹

    Kotlin函數(shù)式編程超詳細(xì)介紹

    一個函數(shù)式應(yīng)用通常由三大類函數(shù)構(gòu)成:變換transform、過濾filters合并combineo每類函數(shù)都針對集合數(shù)據(jù)類型設(shè)計,目標(biāo)是產(chǎn)生一個最終結(jié)果。函數(shù)式編程用到的函數(shù)生來都是可組合的,也就是說,你可以組合多個簡單函數(shù)來構(gòu)建復(fù)雜的計算行為
    2022-09-09
  • Android kotlin+協(xié)程+Room數(shù)據(jù)庫的簡單使用

    Android kotlin+協(xié)程+Room數(shù)據(jù)庫的簡單使用

    這篇文章主要介紹了Android kotlin+協(xié)程+Room數(shù)據(jù)庫的簡單使用,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Android提高之藍(lán)牙隱藏API探秘

    Android提高之藍(lán)牙隱藏API探秘

    這篇文章主要介紹了Android的藍(lán)牙隱藏API功能,在Android項目開發(fā)中有一定的借鑒價值,需要的朋友可以參考下
    2014-08-08
  • Android WebView組件用法詳解

    Android WebView組件用法詳解

    這篇文章主要介紹了Android WebView組件用法,結(jié)合實(shí)例形式詳細(xì)分析了Android WebView組件的功能、權(quán)限設(shè)置、布局及使用技巧,需要的朋友可以參考下
    2016-02-02
  • 詳解android在mob平臺實(shí)現(xiàn)qq登陸和分享

    詳解android在mob平臺實(shí)現(xiàn)qq登陸和分享

    這篇文章主要介紹了詳解android在mob平臺實(shí)現(xiàn)qq登陸和分享,對接入第三方平臺SDK感興趣的同學(xué)們,可以參考下
    2021-04-04
  • 基于RecyclerView實(shí)現(xiàn)橫向GridView效果

    基于RecyclerView實(shí)現(xiàn)橫向GridView效果

    這篇文章主要為大家詳細(xì)介紹了基于RecyclerView實(shí)現(xiàn)橫向GridView效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Android和JavaScript相互調(diào)用的方法

    Android和JavaScript相互調(diào)用的方法

    這篇文章主要介紹了Android和JavaScript相互調(diào)用的方法,實(shí)例分析了Android的WebView執(zhí)行JavaScript及JavaScript訪問Android的技巧,需要的朋友可以參考下
    2015-12-12
  • Android App中實(shí)現(xiàn)圖片異步加載的實(shí)例分享

    Android App中實(shí)現(xiàn)圖片異步加載的實(shí)例分享

    這篇文章主要介紹了Android App中實(shí)現(xiàn)圖片異步加載的實(shí)例分享,這樣GridView在加載大量圖片時便可以延時分布顯示,需要的朋友可以參考下
    2016-04-04
  • Android TextView字幕效果實(shí)例

    Android TextView字幕效果實(shí)例

    本文將介紹Android TextView字幕效果的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2012-11-11
  • Android模糊處理簡單實(shí)現(xiàn)毛玻璃效果

    Android模糊處理簡單實(shí)現(xiàn)毛玻璃效果

    這篇文章主要介紹了Android模糊處理簡單實(shí)現(xiàn)毛玻璃效果的相關(guān)資料,需要的朋友可以參考下
    2016-02-02

最新評論