仿購物車CheckBox的全選反選ListView中的checkbox
activity程式碼
public class MainActivity extends Activity {
private CheckBox check_all;
private ListView lView;
private CheckAdapter checkAdapter;
private Button reverse;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
check_all = (CheckBox) findViewById(R.id.check_all);
lView = (ListView) findViewById(R.id.list_view);
reverse = (Button) findViewById(R.id.reverse);
List<String> list = new ArrayList<String>();
for (int i = 0; i < 15; i++) {
list.add("這是條目" + i);
}
checkAdapter = new CheckAdapter(getApplicationContext(), list);
lView.setAdapter(checkAdapter);
check_all.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
boolean flag = check_all.isChecked();
for (int i = 0; i < checkAdapter.getSelect().size(); i++) {
checkAdapter.getSelect().set(i, flag);
}
checkAdapter.notifyDataSetChanged();
}
});
reverse.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (!checkAdapter.getSelect().contains(true)) {
// check_all.setChecked(false);
Toast.makeText(getApplicationContext(), "請選擇0", Toast.LENGTH_SHORT).show();
} else {
for (int i = 0; i < checkAdapter.getSelect().size(); i++) {
if (checkAdapter.getSelect().get(i)) {
checkAdapter.getSelect().set(i, false);
} else {
checkAdapter.getSelect().set(i, true);
}
}
if (!checkAdapter.getSelect().contains(true)) {
check_all.setChecked(false);
}
}
checkAdapter.notifyDataSetChanged();
}
});
}
private class CheckAdapter extends BaseAdapter {
private List<String> list;
private Context context;
private LinkedList<Boolean> linkedList = new LinkedList<Boolean>();
public CheckAdapter(Context context, List<String> list) {
this.list = list;
this.context = context;
// 初始化
for (int i = 0; i < list.size(); i++) {
getSelect().add(false);
}
}
private List<Boolean> getSelect() {
return linkedList;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = View.inflate(context, R.layout.item, null);
}
CheckBox ck = (CheckBox) convertView.findViewById(R.id.ck);
TextView tView = (TextView) convertView.findViewById(R.id.tv);
tView.setText(list.get(position));
ck.setChecked(linkedList.get(position));
// 不能用onCheckChangedListner()複用的時候
ck.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
linkedList.set(position, !linkedList.get(position));
if (linkedList.contains(false)) {
check_all.setChecked(false);
} else {
check_all.setChecked(true);
}
// 重新整理
notifyDataSetChanged();
}
});
return convertView;
}
}
mainactivity的XML佈局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ListView
android:layout_above="@+id/reverse"
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</ListView>
<Button
android:id="@+id/reverse"
android:layout_above="@+id/check_all"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="反選" />
<CheckBox
android:id="@+id/check_all"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="全選" />
</RelativeLayout>
ListView的item佈局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<CheckBox
android:id="@+id/ck"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp" />
</LinearLayout>
相關推薦
仿購物車CheckBox的全選反選ListView中的checkbox
activity程式碼 public class MainActivity extends Activity { private CheckBox check_all; private ListView lView; private
js購物車全選反選、商品價格統計
購物車全選 購物車價格計算 模仿淘寶購物車的全選全不選,根據選中的商品計算價格,指定店鋪選擇。以下是我自己在做H5頁面的時候整理出來的,想我一個純php的來寫成這樣也不容易。不完善的地方歡迎各位小夥伴指出~html代碼:<body> <header class="m
jquery實現購物車全選反選功能
利用jquery實現購物車中全選(反選)換圖功能,具體程式碼如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta cont
jquery實現checkbox全選/反選/取消
全選 反選 取消所有 IP port domain action 1.1.1.1 90 1.bai.com 1.1.1.2
jQuery的CheckBox全選反選時,勾選失效的問題
利用removeAttr()和prop()方法,完全沒問題。 在做複選框的時候,全選、反選應該是比較常用的功能。我在做這個功能時,發現多次全選、反選之後,頁面展示的“勾選”效果失敗了,頁面上沒有展示出勾選效果。但是追蹤js,發現已經是選中狀態
vue.js簡單實現checkbox全選,反選,多選
1.html <table> <tr> <th class=""> <div class=""> <input type="checkbox" id="checkAll" @click="cli
使用Recyclerview巢狀實現購物車全選反選
在drawable建立selector改變CheckBox外形 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/
購物車兩個Adaper,可以刪除,全選反選,數量加減,通過RecycleView巢狀實現
1activity_main.xml主頁面佈局 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/andro
購物車一個Adaper,可以刪除,全選反選,數量加減
1activity_main.xml頁面佈局 <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schem
購物車功能:使用jQuery實現購物車全選反選,單選,商品增刪,小計等功能
效果圖: html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>模擬購物車功能-jq</title>
【jQuery】jQuery實現checkbox的全選/反選邏輯
在開發過程中,會遇到需要進行一個checkbox對多個checkbox進行全選/反選的邏輯 假如有一個網頁,是這樣的 <input id='selectAll'/><l
購物車修改刪除 全選反選批量刪除查詢排序
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <
Android_二級列表購物車之增刪改查,全選反選,加減器,價錢數量計算
第一步: 導依賴 Eventbus依賴: compile 'org.greenrobot:eventbus:3.1.1'gson依賴: compile 'com.google.code.gson:gson:2.8.2' OkHttp依賴: compile 'com.squa
VUE 實現checkbox的全選/反選
1、頁面結構部分 <template> <div> <!--給全選按鈕繫結v-mode變數,值為true時就是選中狀態,繫結點選事件,執行全選和反選操作--> <input
JQ checkbox 全選 反選獲取值
<!DOCTYPE html> <html><head><meta charset="utf-8"><title></title> <script type="text/javas
JTableHeader新增全選, 反選checkbox
{ publicvoid mouseClicked(MouseEvent e) ...{ if (e.getClickCount() >0) ...{ int selectColumn = tableHeader.
checkbox解決全選反選的問題
實現需求: 1.all的checkbox可全部選中或全部取消 2.小的checkbox全部選中時,all的checkbox自動選中 3.全部選中後,取消小的checkbox,all的checkbox自動取消 <!doctype html> <html
checkbox 全選反選 可以根據小項判斷大項是否勾選
$(document).ready(function(){ $("#htxhsall").click( function () { if(this.checked){ $("[name=htxhs]:checkbox").attr("checked"
jQuery(5)--實現checkbox的全選,反選,全不選功能
頁面如下: 原始碼: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>demo04.ht
RecyclerView巢狀CheckBox實現單選全選反選操作每條Item新增分割線
activity_main.xml的佈局:<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/