MainActivity
public class MainActivity extends AppCompatActivity implements IConter.IView { @BindView(R.id.big_recyc) RecyclerView bigRecyc; @BindView(R.id.check_box) CheckBox checkBox; @BindView(R.id.text_price) TextView textPrice; @BindView(R.id.button_jisuan) Button buttonJisuan; private IConter.IPresenter presenter; private List<GouWu.DataBean> list; @SuppressLint("HandlerLeak") private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what) { case 1: GouWu gouWu = (GouWu) msg.obj; list = gouWu.getData(); LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false); subAdapter = new SubAdapter(context, (ArrayList<GouWu.DataBean>) list); bigRecyc.setLayoutManager(linearLayoutManager); bigRecyc.setAdapter(subAdapter); getchecked(); subAdapter.setSjSelected(new SubAdapter.SJSelect() { @Override public void sjselect() { boolean bs = true; for (GouWu.DataBean dataBean : list) { if (!dataBean.isSelect()) { bs = false; } } checkBox.setChecked(bs); getchecked(); } }); subAdapter.setAddjianlistenter(new SubAdapter.Addjianlistenter() { @Override public void addjianlistenter() { getchecked(); } }); break; } } }; private Context context; private SubAdapter subAdapter; private double zongjia; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); context = MainActivity.this; presenter = new PresenterImpl(); presenter.attachView(this); presenter.gouwuRequestData(); } private void getchecked() { zongjia = 0.0; for (GouWu.DataBean dataBean : list) { for (GouWu.DataBean.ListBean listBean : dataBean.getList()) { if (listBean.getSelected()==1) { double zongnumbser = listBean.getNum() * listBean.getPrice(); zongjia = zongjia + zongnumbser; } } } textPrice.setText(zongjia+""); } @Override public void gouwushowData(final String msg) { runOnUiThread(new Runnable() { @Override public void run() { Gson gson = new Gson(); GouWu gouWu = gson.fromJson(msg, GouWu.class); Message message = new Message(); message.what = 1; message.obj = gouWu; handler.sendMessage(message); } }); } @Override protected void onDestroy() { super.onDestroy(); presenter.datechView(this); } @OnClick({R.id.check_box, R.id.button_jisuan}) public void onViewClicked(View view) { switch (view.getId()) { case R.id.check_box: for(GouWu.DataBean dataBean : list){ dataBean.setSelect(checkBox.isChecked()); for(GouWu.DataBean.ListBean listBean : dataBean.getList()){ if(checkBox.isChecked()){ listBean.setSelected(1); }else{ listBean.setSelected(0); } } } getchecked(); subAdapter.notifyDataSetChanged(); break; case R.id.button_jisuan: break; } } }