Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Andorid listView中,checkBox的顯示和隱藏

Andorid listView中,checkBox的顯示和隱藏

編輯:Android開發實例

在listView中,每個item都有一個ChexBox,當顯示的時候在listView外面設置一個按鈕,點擊顯示和隱藏listView中所有的checBox;

開始的我的實現方法為:

Button add = (Button)findViewById(R.id.add);
        add.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {

                if(flage){checkBox.setVisibility(View.VISIBLE);flage=!flage;}
                else{checkBox.setVisibility(View.GONE);flage=!flage;}               
            }
        });

後來發現,只能改變listView中第一個checBox,對listView中其他的item不起作用。

 

 

以上做法不對,正確的做法是在Adapter中的getView中設置隱藏和顯示,做法如下:

在getView中,

final CheckBox checkBox = (CheckBox) view.findViewById(R.id.checkBox);
                if(flage){checkBox.setVisibility(View.VISIBLE);}
                else{checkBox.setVisibility(View.GONE);}

 

然後在按鈕點擊事件中:

@Override
            public void onClick(View v) {
                flage=!flage;
                mySubscriptionsListAdapt.notifyDataSetChanged();
            }

 

notifyDataSetChanged();是實現listView刷新的功能,不需要再次加載整個listView。

 

源代碼見:http://henzil.googlecode.com/svn/trunk/android.ListAsyncActivty/

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved