全选+删除+网络请求

布局


<?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;
    }

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值