全选+删除+网络请求

来源:互联网 发布:阿里云服务器 访问慢 编辑:程序博客网 时间:2024/06/05 19:19

布局


<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/activity_main"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context="com.bawei.wangyiming.wangyiming1508a2017116.MainActivity">    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal"        android:id="@+id/navlayout"        android:background="@android:color/holo_blue_light"        >        <TextView            android:layout_width="0dp"            android:layout_weight="4"            android:layout_height="wrap_content"            android:id="@+id/home_title"            android:text="我的收藏"            android:textSize="22sp"            android:textStyle="bold"            android:layout_gravity="center"            android:gravity="center"            android:background="@android:color/holo_blue_light"            />        <Button            android:layout_width="0dp"            android:layout_weight="1"            android:layout_height="wrap_content"            android:text="编辑"            android:id="@+id/btn_bj"            android:background="@android:color/holo_blue_light"            />    </LinearLayout>    <LinearLayout        android:layout_below="@+id/navlayout"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal"        android:id="@+id/id1">        <Button            android:layout_width="0dp"            android:layout_weight="1"            android:layout_height="wrap_content"            android:background="@android:color/white"            android:text="商品" />        <Button            android:layout_width="0dp"            android:layout_weight="1"            android:layout_height="wrap_content"            android:background="@android:color/white"            android:text="路线/旅游攻略"/>    </LinearLayout>        <ListView        android:layout_below="@+id/id1"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:id="@+id/mlistview"        android:layout_above="@+id/caozuolayout"        ></ListView>    <LinearLayout        android:layout_alignParentBottom="true"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:id="@+id/caozuolayout"        android:orientation="horizontal"        >        <CheckBox            android:layout_width="80dp"            android:layout_height="50dp"            android:id="@+id/checkall"            android:text="全选"            />        <Button            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:id="@+id/btn_delete"            android:text="删除"            android:background="@android:color/white"            />    </LinearLayout></RelativeLayout>


MainActivity:



public class MainActivity extends AppCompatActivity implements IView {    ListView listView;    ArrayList<SuperClass.DataBean> mylist;    UserPresenter userPresenter;    MyListAdapter adapter;    ArrayList<MyChecks> mychecklist;    Button checkall;    //MyRecyclerViewAdapter adapter;    //RecyclerView recyclerview;    LinearLayout layout;    Button btn_bj;    Button btn_delete;    boolean ischeckall = false;    boolean ischeck = false;//    SharedPreferences sp;//    SharedPreferences.Editor editor;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        Fresco.initialize(this);        setContentView(R.layout.activity_main);        listView = (ListView) findViewById(R.id.mlistview);        btn_bj = (Button) findViewById(R.id.btn_bj);        layout = (LinearLayout) findViewById(R.id.caozuolayout);        layout.setVisibility(View.GONE);        checkall = (CheckBox) findViewById(R.id.checkall);        btn_delete = (Button) findViewById(R.id.btn_delete);        userPresenter = new UserPresenter(this);        userPresenter.setJson(API.URL);//        sp = getSharedPreferences("mydata",1);//        editor = sp.edit();        inData();//        recyclerview = (RecyclerView) findViewById(R.id.mrecycler);        //recyclerview.setLayoutManager(new LinearLayoutManager(this));    }    public void inData(){        //显示隐藏编辑        btn_bj.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                if(ischeckall == true){                    btn_bj.setText("编辑");                    layout.setVisibility(View.GONE);                    for(int i = 0 ; i < mychecklist.size();i++){                        mychecklist.set(i,new MyChecks(false,0));                    }                    ischeckall = false;                }else{                    btn_bj.setText("完成");                    layout.setVisibility(View.VISIBLE);                    for(int i = 0 ; i < mychecklist.size();i++){                        mychecklist.set(i,new MyChecks(false,1));                    }                    ischeckall = true;                }                adapter.notifyDataSetChanged();            }        });//全选        checkall.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                if(ischeck == false){                    for(int i = 0 ; i < mychecklist.size();i++){                        mychecklist.set(i,new MyChecks(true,1));                    }                    ischeck =true;                }else{                    for(int i = 0 ; i < mychecklist.size();i++){                        mychecklist.set(i,new MyChecks(false,1));                        ischeck =false;                    }                }                adapter.notifyDataSetChanged();            }        });        btn_delete.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                ArrayList<SuperClass.DataBean> deletelist = new ArrayList<SuperClass.DataBean>();                ArrayList<MyChecks> deltelist2 = new ArrayList<MyChecks>();                for(int i = 0 ; i < mylist.size();i++){                    if(mychecklist.get(i).ischeck()==true){                        deletelist.add(mylist.get(i));                        deltelist2.add(mychecklist.get(i));//                        mylist.remove(i);//                        mychecklist.remove(i);                    }                }                mylist.removeAll(deletelist);                mychecklist.removeAll(deltelist2);                if(mylist.size() == 0){                    btn_bj.setText("编辑");                    layout.setVisibility(View.GONE);                    ischeckall = false;                }                adapter.notifyDataSetChanged();            }        });    }    @Override    public void setUser(ArrayList<SuperClass.DataBean> list) {        String news_title = list.get(1).getNews_title();        Toast.makeText(this, news_title, Toast.LENGTH_SHORT).show();//        Log.d("Main","+++++++++++++++++++++++++++++++++"+news_title);        mychecklist = new ArrayList<>();        mylist = new ArrayList<>();        mylist = list;        for(int i = 0;i < list.size(); i++){            mychecklist.add(new MyChecks(false,0));        }        adapter = new MyListAdapter(mychecklist,mylist,MainActivity.this);        listView.setAdapter(adapter);        //adapter = new MyRecyclerViewAdapter(list,MainActivity.this);        //recyclerview.setAdapter(adapter);    }}

Adapter:


public class MyListAdapter extends BaseAdapter {    ArrayList<MyChecks> checklist;    ArrayList<SuperClass.DataBean> list;    Context context;    public MyListAdapter(ArrayList<MyChecks> checklist, ArrayList<SuperClass.DataBean> list, Context context) {        this.checklist = checklist;        this.list = list;        this.context = context;    }    @Override    public int getCount() {        return list.size();    }    @Override    public Object getItem(int i) {        return list.get(i);    }    @Override    public long getItemId(int i) {        return i;    }    @Override    public View getView(final int i, View view, ViewGroup viewGroup) {        MyViewHolder holder;        if(view == null){            view = LayoutInflater.from(context).inflate(R.layout.item_list,viewGroup,false);            holder = new MyViewHolder();            holder.head = (SimpleDraweeView) view.findViewById(R.id.list_head);            holder.mycheck = (CheckBox) view.findViewById(R.id.list_mycheck);            holder.text = (TextView) view.findViewById(R.id.list_title);            view.setTag(holder);        }else{            holder = (MyViewHolder) view.getTag();        }        for(int j = 0 ; j < checklist.size();j++){            if(checklist.get(j).getGone()==0){                holder.mycheck.setVisibility(View.GONE);            }else{                holder.mycheck.setVisibility(View.VISIBLE);            }        }        holder.mycheck.setChecked(checklist.get(i).ischeck());        Uri imageuri = Uri.parse(list.get(i).getPic_url());        holder.head.setImageURI(imageuri);        holder.text.setText(list.get(i).getNews_title());        holder.mycheck.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                if(checklist.get(i).ischeck()==false){                    checklist.set(i,new MyChecks(true,1));                }else{                    checklist.set(i,new MyChecks(false,1));                }                notifyDataSetChanged();            }        });        return view;    }    static class MyViewHolder{        CheckBox mycheck;        SimpleDraweeView head;        TextView text;    }}


原创粉丝点击