
<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:id="@+id/button" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:text="编辑" android:onClick="btnEditList" /> <Button android:id="@+id/button2" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:text="全选" android:onClick="btnSelectAllList" /> <Button android:id="@+id/button3" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:text="全不选" android:onClick="btnNoList" /> <Button android:id="@+id/button4" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:text="反选" android:onClick="btnfanxuanList" /> </LinearLayout> <ListView android:layout_width="wrap_content" android:layout_height="match_parent" android:id="@+id/listView" ></ListView></LinearLayout>
<?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" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_gravity="center_vertical" android:gravity="center_vertical" > <CheckBox android:id="@+id/checkbox_operate_data" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_margin="6dp" android:visibility="gone" /> <ImageView android:id="@+id/material_item_img" android:layout_width="50dp" android:layout_height="50dp" android:layout_gravity="center_vertical" android:adjustViewBounds="true" android:scaleType="centerCrop" android:src="@mipmap/ic_launcher" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_gravity="center_vertical" android:paddingBottom="10dp" android:paddingTop="10dp" > <View android:id="@+id/user_head_img" android:layout_width="5dp" android:layout_height="fill_parent" android:background="#4483c9" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:id="@+id/text_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="标题" android:singleLine="true" android:textSize="16sp" android:gravity="center_vertical" android:textColor="#555555" /> <TextView android:id="@+id/text_desc" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="count" android:singleLine="true" android:textSize="14sp" android:layout_gravity="center_vertical" android:gravity="bottom" android:textColor="#aaaaaa" android:maxEms="6" /> </LinearLayout> </LinearLayout> </LinearLayout>
package com.example.quanxuan; /** * Created by shenhao on 2016/11/2. */ public class Bean { public int img; public String id; public String nameone; public String nametwo; public boolean isCheck; public Bean(int img, String nameone, String nametwo) { this.img = img; this.nameone = nameone; this.nametwo = nametwo; } }
package com.example.quanxuan; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.ListView; import java.util.ArrayList; import java.util.List; import java.util.Map; public class MainActivity extends AppCompatActivity { private List<Bean> list=new ArrayList<Bean>(); private ListView listview; private Myadapter adapter; private Map<Integer, String> selected; private Button button; private void jihe() { list.add(new Bean(R.drawable.eeeeee,"沈浩","1")); list.add(new Bean(R.drawable.a,"沈浩","2")); list.add(new Bean(R.drawable.aa,"沈浩","3")); list.add(new Bean(R.drawable.aaa,"沈浩","4")); list.add(new Bean(R.drawable.aou,"沈浩","5")); list.add(new Bean(R.drawable.jianghu,"沈浩","6")); list.add(new Bean(R.drawable.zhangying,"沈浩","6")); list.add(new Bean(R.drawable.b,"沈浩","7")); list.add(new Bean(R.drawable.bbbb,"沈浩","8")); list.add(new Bean(R.drawable.c,"沈浩","9")); list.add(new Bean(R.drawable.ccccc,"沈浩","10")); list.add(new Bean(R.drawable.d,"沈浩","11")); list.add(new Bean(R.drawable.dddddd,"沈浩","12")); list.add(new Bean(R.drawable.douhui,"沈浩","13")); list.add(new Bean(R.drawable.e,"沈浩","14")); list.add(new Bean(R.drawable.he,"沈浩","15")); list.add(new Bean(R.drawable.hehe,"沈浩","16")); list.add(new Bean(R.drawable.zhangying,"沈浩","17")); list.add(new Bean(R.drawable.xuhuizhi,"沈浩","18")); list.add(new Bean(R.drawable.sejie,"沈浩","19")); list.add(new Bean(R.drawable.quanbu,"沈浩","20")); list.add(new Bean(R.drawable.quanxuan,"沈浩","21")); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button) findViewById(R.id.button); listview =(ListView)findViewById(R.id.listView); jihe(); adapter =new Myadapter(list,this, selected); listview.setAdapter(adapter); } public void btnEditList(View view) { adapter.flage=!adapter.flage; if (adapter.flage) { button.setText("取消"); } else{ button.setText("编辑"); } adapter.notifyDataSetChanged(); } public void btnSelectAllList(View view) { if (adapter.flage) { for (int i = 0; i < list.size(); i++) { list.get(i).isCheck = true; } adapter.notifyDataSetChanged(); } } public void btnNoList(View view) { if (adapter.flage) { for (int i = 0; i < list.size(); i++) { list.get(i).isCheck = false; } adapter.notifyDataSetChanged(); } } public void btnfanxuanList(View view) { if (adapter.flage) { for (int i = 0; i < list.size(); i++) { if (list.get(i).isCheck) { list.get(i).isCheck = false; } else { list.get(i).isCheck = true; } } adapter.notifyDataSetChanged(); } } public void btnOperateList(View view) { List<String> ids = new ArrayList<>(); if (adapter.flage) { for (int i = 0; i < list.size(); i++) { if (list.get(i).isCheck) { ids.add(list.get(i).id); } } Log.e("TAG", ids.toString()); } } }
package com.example.quanxuan; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.CheckBox; import android.widget.ImageView; import android.widget.TextView; import org.w3c.dom.Text; import java.util.List; import java.util.Map; /** * Created by shenhao on 2016/11/2. */ public class Myadapter extends BaseAdapter{ private List<Bean> list; private Context Context; public Map<Integer, String> selected; public boolean flage=false; private View view; public Myadapter(List<Bean> list, android.content.Context context, Map<Integer, String> selected) { this.list = list; Context = context; this.selected = selected; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return null; } @Override public long getItemId(int i) { return 0; } @Override public View getView(int i, View view, ViewGroup viewGroup) { view = View.inflate(Context,R.layout.listone,null); ImageView img=(ImageView)view.findViewById(R.id.material_item_img); TextView name1=(TextView)view.findViewById(R.id.text_title); TextView name2=(TextView)view.findViewById(R.id.text_desc); CheckBox box=(CheckBox)view.findViewById(R.id.checkbox_operate_data); img.setImageResource(list.get(i).img); name1.setText(list.get(i).nameone); name2.setText(list.get(i).nametwo); final Bean bean=list.get(i); if (bean!=null) { name1.setText(bean.nameone); name2.setText(bean.nametwo); if (flage) { box.setVisibility(View.VISIBLE); } else{ box.setVisibility(View.GONE); } box.setChecked(bean.isCheck); box.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (bean.isCheck) { bean.isCheck=false; } else { bean.isCheck=true; } } }); } return view; } }