动态添加RudioButton,刷新Fragment上的数据

public class OrderInfoActivity extends MyBaseActivity implements View.OnClickListener {
    private String orderNum;
    private RadioGroup mRgNavi;
    private int curYear, curMonth, curDay, curDayStart, curMonthStart;
    /**
     * 当前日期
     */
    long curDateMs = System.currentTimeMillis();

    private LinearLayout mLayoutHomeFragSearch;
    private Button mBtHomeFragSearch;
    private EditText mEdtHomeFragSearch;
    private LinearLayout mLlTime;
    private TextView mTvBeginTime;
    private ImageView mImgBegin;
    private TextView mTvEndTime;
    private ImageView mImgEnd;
    private RelativeLayout mRlTanwei;
    private LinearLayout mLlBooth;

    private LinearLayout mLlTanweihao;
    private LinearLayout mLlTanweidanNum;
    private TextView mTvTanwei1Num;
    private TextView mTvTanwei2Num;
    private TextView mTvTanwei3Num;
    private FrameLayout mLayoutHomeActivityRootFrag;
    private TextView mTvOrderNumber1;
    private TanweiFragment1 mTanweiFragment1;
    private HorizontalScrollView hs_tanwei;

    private String mBeginTime, mEndTime, mBeginTime1;
    // private int tanweiOrder = 1;
    // private String tanweiName;
    // private String mTanweiId;

    private List<BaseFragment> mAllFrags = new ArrayList<BaseFragment>();
    private List<RadioButton> radioList = new ArrayList<RadioButton>();

    @Override
    public int setRootView() {
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        return R.layout.activity_order_info;
    }

    @Override
    public void initViews() {
        mRgNavi = (RadioGroup) findViewById(R.id.rg_navi);
        hs_tanwei = (HorizontalScrollView) findViewById(R.id.hs_tanwei);
        mLayoutHomeFragSearch = (LinearLayout) findViewById(R.id.layout_home_frag_search);
        mBtHomeFragSearch = (Button) findViewById(R.id.bt_home_frag_search);
        mEdtHomeFragSearch = (EditText) findViewById(R.id.edt_home_frag_search);
        mLlTime = (LinearLayout) findViewById(R.id.ll_time);
        mTvBeginTime = (TextView) findViewById(R.id.tv_begin_time);
        mImgBegin = (ImageView) findViewById(R.id.img_begin);
        mTvEndTime = (TextView) findViewById(R.id.tv_end_time);
        mImgEnd = (ImageView) findViewById(R.id.img_end);
        mRlTanwei = (RelativeLayout) findViewById(R.id.rl_tanwei);
        mLlBooth = (LinearLayout) findViewById(R.id.ll_booth);
        // mLlTanweihao = (LinearLayout) findViewById(R.id.ll_tanweihao);
        // mLlTanweidanNum = (LinearLayout) findViewById(R.id.ll_tanweidanNum);
        // mTvTanwei1Num = (TextView) findViewById(R.id.tv_tanwei1_num);
        // mTvTanwei2Num = (TextView) findViewById(R.id.tv_tanwei2_num);
        // mTvTanwei3Num = (TextView) findViewById(R.id.tv_tanwei3_num);
        mTvOrderNumber1 = (TextView) findViewById(R.id.tv_order_number1);
        mLayoutHomeActivityRootFrag = (FrameLayout) findViewById(R.id.layout_home_activity_root_frag);

        mImgBegin.setOnClickListener(this);
        mImgEnd.setOnClickListener(this);
        mBtHomeFragSearch.setOnClickListener(this);

    }

    @Override
    public void initDatas() {
        // mRbTanwei1.setChecked(true);
        orderNum = mEdtHomeFragSearch.getText().toString() + "";
        Calendar curDate = Calendar.getInstance();
        curDate.setTimeInMillis(System.currentTimeMillis());
        curYear = curDate.get(Calendar.YEAR);
        curMonth = curDate.get(Calendar.MONTH) + 1;
        curDay = curDate.get(Calendar.DAY_OF_MONTH);
        Calendar curDate1 = Calendar.getInstance();
        curDate1.setTimeInMillis(System.currentTimeMillis() - 518400000);
        curDayStart = curDate1.get(Calendar.DAY_OF_MONTH);
        curMonthStart = curDate1.get(Calendar.MONTH) + 1;
        // 604800000
        // 2017-07-25 14:11:42
        mBeginTime = MyDateUtil.change(System.currentTimeMillis() - 518400000);
        mBeginTime1 = MyDateUtil.change1(System.currentTimeMillis() - 518400000);
        mEndTime = MyDateUtil.change(System.currentTimeMillis());
        mTvBeginTime.setText(mBeginTime1);
        mTvEndTime.setText(curYear + "年" + curMonth + "月" + curDay + "日");
        mEdtHomeFragSearch.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                mTvOrderNumber1.setText("");
            }
        });
        String mRegCode = SharedPrefrencesUtil.getData(this, "a", "regCode", "0");
        Log.e("1", "run:--------->mRegCode: " + mRegCode);
        Log.e("1", "run:--------->mBeginTime: " + mBeginTime);
        Log.e("1", "run:--------->mEndTime: " + mEndTime);
        SharedPrefrencesUtil.saveData(mBaseActivity, "b", "mBeginTime", mBeginTime);
        SharedPrefrencesUtil.saveData(mBaseActivity, "b", "mEndTime", mEndTime);
        orderPageInit("370200018085418", mBeginTime, mEndTime);

    }

    // 1,把自己show出来,如果自己没有add,则先add
    // 2.把其他人hide
    public void showFrag(BaseFragment desFragment) {
        if (!desFragment.isAdded()) {
            addFragment(R.id.layout_home_activity_root_frag, desFragment);
            showFragment(desFragment);
        }
    }

    private void checkChangeListener() {
        mRgNavi.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) {
                // 摊位号 370203010001

                Log.e("1", "run:--------->11111checkedId: " + checkedId);
                Log.e("1", "run:---------> radioList.size(): " + radioList.size());

                if (checkedId >= 0 && checkedId < radioList.size() && radioList.get(checkedId).isChecked()) {
                    String mTanweiId = (String) radioList.get(checkedId).getTag();
                    loadOrderDetailFragment("370200018085418", mTanweiId, 10, 1, mBeginTime, mEndTime);
                }

            }
        });

    }

    /**
     * 结束日期选择器
     */
    private void selectDate() {
        final DatePicker picker = new DatePicker(this);

        picker.setCanceledOnTouchOutside(true);
        picker.setUseWeight(true);
        picker.setTopPadding(ConvertUtils.toPx(this, 20));
        picker.setRangeStart(2010, 1, 1);
        picker.setRangeEnd(2117, 1, 1);
        picker.setSelectedItem(curYear, curMonth, curDay);
        picker.setOnDatePickListener(new DatePicker.OnYearMonthDayPickListener() {
            @Override
            public void onDatePicked(String year, String month, String day) {
                curYear = Integer.parseInt(year);
                curMonth = Integer.parseInt(month);
                curDay = Integer.parseInt(day);
                curDateMs = formatStrToMs(year + "-" + month + "-" + day);
                Log.e("1", "run:---------> " + curDay);

                mTvEndTime.setText(curYear + "年" + curMonth + "月" + curDay + "日");

                mEndTime = MyDateUtil.change(curDateMs);
                SharedPrefrencesUtil.saveData(mBaseActivity, "b", "mEndTime", mEndTime);

                orderPageInit("370200018085418", mBeginTime, mEndTime);
            }
        });

        picker.show();

    }

    /**
     * 开始日期选择器
     */
    private void selectDate1() {
        final DatePicker picker1 = new DatePicker(this);

        picker1.setCanceledOnTouchOutside(true);
        picker1.setUseWeight(true);
        picker1.setTopPadding(ConvertUtils.toPx(this, 20));
        picker1.setRangeStart(2010, 1, 1);
        picker1.setRangeEnd(2117, 1, 1);
        picker1.setSelectedItem(curYear, curMonthStart, curDayStart);
        picker1.setOnDatePickListener(new DatePicker.OnYearMonthDayPickListener() {
            @Override
            public void onDatePicked(String year, String month, String day) {
                curYear = Integer.parseInt(year);
                curMonth = Integer.parseInt(month);
                curDayStart = Integer.parseInt(day);
                curDateMs = formatStrToMs(year + "-" + month + "-" + day);
                mTvBeginTime.setText(curYear + "年" + curMonth + "月" + curDayStart + "日");
                Log.e("1", "run:---------> " + curDay);
                curDateMs = formatStrToMs(year + "-" + month + "-" + day);
                mBeginTime = MyDateUtil.change(curDateMs);
                Log.e("1", "run:--------->88mBeginTime: " + mBeginTime);
                SharedPrefrencesUtil.saveData(mBaseActivity, "b", "mBeginTime", mBeginTime);
                orderPageInit("370200018085418", mBeginTime, mEndTime);
            }
        });

        picker1.show();

    }

    public long formatStrToMs(String mS) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        try {
            Date d = null;
            try {
                d = sdf.parse(mS);
            } catch (java.text.ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return d.getTime();
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return 0;
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
        case R.id.img_begin:
            selectDate1();
            break;
        case R.id.img_end:

            selectDate();
            break;
        case R.id.bt_home_frag_search:

            Log.e("1", "run:--------->orderNum: " + mEdtHomeFragSearch.getText().toString() + "");
            SearchOrderSimple(mEdtHomeFragSearch.getText().toString() + "");
            break;
        }
    }

    private void SearchOrderSimple(String orderNo) {
        // TODO Auto-generated method stub
        ApiService.searchOrder(orderNo, new BaseCallBack() {

            @Override
            public void onSuccess(Res_BaseBean t) {
                // TODO Auto-generated method stub
                OrderDetail mOrderDetail = t.getInfo(OrderDetail.class);
                String mOrderNo = mOrderDetail.getOrderNo();
                Log.e("1", "run:---------555555>mOrderNo: " + mOrderNo);
                Intent intent = new Intent(OrderInfoActivity.this, OrderDetailActivity.class);
                intent.putExtra("mOrderNo", mOrderNo);
                startActivity(intent);

            }

            @Override
            public void onFailure(int code, String message) {
                // TODO Auto-generated method stub 878176523769503744
                Toast.makeText(getApplication(), message+"33", Toast.LENGTH_SHORT).show();
            }
        });

    }

    private void loadOrderDetailFragment(String regCode, String boothNo, Integer intRow, Integer intPage,
            String startTime, String endTime) {
        if (mTanweiFragment1 == null) {
            mTanweiFragment1 = new TanweiFragment1();
        }
        mTanweiFragment1.orderPageInitByPage(regCode, boothNo, intRow, intPage, startTime, endTime);

        showFrag(mTanweiFragment1);
    }

    // regCode 工商注册号
    private void orderPageInit(String regCode, String startTime, String endTime) {
        // TODO Auto-generated method stub
        ApiService.orderPageInit(regCode, startTime, endTime, new BaseCallBack() {
            @Override
            public void onSuccess(Res_BaseBean t) {
                // TODO Auto-generated method stub
                mRgNavi.clearCheck();
                mRgNavi.removeAllViews();
                radioList = new ArrayList<RadioButton>();
                List<Res_BoothCount> boothCounts = t.getList(Res_BoothCount.class);
                int i = 0;

                for (Res_BoothCount boothCount : boothCounts) {
                    String mBootIdString = boothCount.getBoothId();
                    RadioButton tempButton = new RadioButton(mBaseActivity);
                    tempButton.setBackgroundResource(R.drawable.tanwei1_selector); // 设置RadioButton的背景图片
                    tempButton.setButtonDrawable(null); // 设置按钮的样式
                    tempButton.setId(i);
                    tempButton.setTag(mBootIdString);

                    tempButton.setText("    " + boothCount.getBoothName() + " (" + boothCount.getOrderCount() + "单" + ")");
                    mRgNavi.addView(tempButton, LinearLayout.LayoutParams.WRAP_CONTENT,
                            LinearLayout.LayoutParams.WRAP_CONTENT);
                    radioList.add(tempButton);

                    // mTvTanwei1Num.setText(boothCount.getOrderCount()+"");
                    Log.e("1", "run:--------->i: " + i);
                    if (i == 0) {
                        tempButton.setChecked(true);
                    }

                    i++;
                }
                checkChangeListener();
                // 加载第一个radiobutton
                radioList.get(0).setChecked(true);
                hs_tanwei.fullScroll(HorizontalScrollView.FOCUS_LEFT);
                // loadOrderDetailFragment("370200018085418",
                // boothCounts.get(0).getBoothId(), 10, 1, mBeginTime,
                // mEndTime);

            }

            @Override
            public void onFailure(int code, String message) {
                // TODO Auto-generated method stub

                Toast.makeText(getApplication(), message, Toast.LENGTH_SHORT).show();

            }

        });
    }

}

Fragment

public class TanweiFragment1 extends BaseFragment {
    private String mEndTime;
    private String mBeginTime;
    private String mTanweiId;
    /**
     * 当前订单列表
     */
    private ArrayList<OrderInfo> curOrderList = new ArrayList();
    private ItemOrderInfoAdapter mItemOrderInfoAdapter;
    private ListView mLvDataList;

    @Override
    public int setRootView() {

        return R.layout.tanwei_fragment1;

    }

    @Override
    public void initViews() {

        mBeginTime = SharedPrefrencesUtil.getData(mActivity, "b", "mBeginTime", "");
        mEndTime = SharedPrefrencesUtil.getData(mActivity, "b", "mEndTime", "");
        mTanweiId = SharedPrefrencesUtil.getData(mActivity, "b", "mTanweiId", "");
        // Bundle bundle = new Bundle();
        // mBeginTime=bundle.getString("arg");
        // Log.e("1", "run:--------->99mBeginTime: " + mBeginTime);
        // mEndTime = MyDateUtil.change(System.currentTimeMillis());
        mLvDataList = (ListView) mRootView.findViewById(R.id.lv_data_list);

        mLvDataList.setOnItemClickListener(new MyOnItemClickListener());

    }

    private class MyOnItemClickListener implements AdapterView.OnItemClickListener {

        @SuppressLint("NewApi")
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            // 把listview条目的位置跟具体订单关联起来
            OrderInfo info = (OrderInfo) parent.getAdapter().getItem(position);
            Bundle bundle = new Bundle();
            Log.e("1", "run:--------->OrderNo: " + info.getOrderNo());
            bundle.putString("orderNum1", info.getOrderNo());
            Intent intent = new Intent(getActivity(), OrderDetailActivity.class);
            getActivity().startActivity(intent, bundle);

        }
    }

    public void orderPageInitByPage(String regCode, String boothNo, Integer intRow, Integer intPage, String startTime,
            String endTime) {
        // TODO Auto-generated method stub
        ApiService.orderPageInitByPage(regCode, boothNo, intRow, intPage, startTime, endTime, new BaseCallBack() {

            @Override
            public void onSuccess(Res_BaseBean t) {
                // TODO Auto-generated method stub
                List<OrderInfo> mOrderInfo = t.getList(OrderInfo.class);
                //
                if (mItemOrderInfoAdapter == null) {
                    mItemOrderInfoAdapter = new ItemOrderInfoAdapter(mActivity, mOrderInfo);
                    mLvDataList.setAdapter(mItemOrderInfoAdapter);
                } else {
                    mItemOrderInfoAdapter.refreshData(mOrderInfo);
                }

            }

            @Override
            public void onFailure(int code, String message) {
                // TODO Auto-generated method stub
                Toast.makeText(getActivity(), message, Toast.LENGTH_SHORT).show();
                if (mItemOrderInfoAdapter == null) {
                    mItemOrderInfoAdapter = new ItemOrderInfoAdapter(mActivity, new ArrayList<OrderInfo>());
                    mLvDataList.setAdapter(mItemOrderInfoAdapter);
                } else {
                    mItemOrderInfoAdapter.refreshData(new ArrayList<OrderInfo>());
                }

            }
        });
    }

    @Override
    public void initDatas() {
        // TODO Auto-generated method stub

    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值