回调

来源:互联网 发布:图的深度优先遍历算法 编辑:程序博客网 时间:2024/06/06 01:23

用在适配器:

private OrderItemClickListener itemClickListener;

public OrderFromAdapter(ArrayList<Goods> list,Context context,OrderItemClickListener itemClickListener){    this.context = context;    this.list=list;    this.itemClickListener = itemClickListener;    inflater=LayoutInflater.from(context);    isSelected = new HashMap<Integer, Boolean>();//选中的复选框    initDate();}


主界面:

public class SPMainActivity extends SPBaseActivity  implements AdapterView.OnItemClickListener, OrderFromAdapter.OrderItemClickListener {

adapter = new OrderFromAdapter(listOrder, SPMainActivity.this,this);


public interface OrderItemClickListener{    public void itemClickedSelect(int position, ViewHolder viewHolder);    public void itemNumClick(int position, ViewHolder viewHolder);}public class MyOnClickListner implements View.OnClickListener {    int position;    ViewHolder viewHolder;    public MyOnClickListner(int position, ViewHolder viewHolder) {        this.position = position;        this.viewHolder = viewHolder;    }    @Override    public void onClick(View v) {        switch (v.getId()){            case R.id.number:                if(itemClickListener!=null){                    itemClickListener.itemNumClick(position,viewHolder);                }                break;            case R.id.check_option:                if(itemClickListener!=null){                    itemClickListener.itemClickedSelect(position,viewHolder);                }                break;        }    }}



    @Override    public void itemClickedSelect(int position, OrderFromAdapter.ViewHolder viewHolder) {//        viewHolder.checkBox.toggle();//切换checkBox的可见状态        OrderFromAdapter.getIsSelected().put(position, viewHolder.checkBox.isChecked());        // 调整选定条目        if (viewHolder.checkBox.isChecked() == true) {            checkNum++;        } else {            checkNum--;        }        if (checkNum == 0) {//清空为0时不显示数字0            left_xiaokuohao.setVisibility(View.INVISIBLE);            right_xiaokuohao.setVisibility(View.INVISIBLE);            clearNumber.setText("");        } else {            left_xiaokuohao.setVisibility(View.VISIBLE);            right_xiaokuohao.setVisibility(View.VISIBLE);            clearNumber.setText("" + checkNum);        }    }    @Override    public void itemNumClick(int position, OrderFromAdapter.ViewHolder viewHolder) {        if(!listOrder.get(position).isSH()){            showNum(position);        }    }

0 0
原创粉丝点击