问卷调查答题

private List<String> mStrings = new ArrayList<>(50);

public void selectAnswer(int position, String dto) {
        mStrings.set(position, dto);
    }

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.start_task_activity);
        initView();
        initData();
        for (int i = 0; i < 50; i++) {
            mStrings.add("");
        }
    }

@Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.submit:
                final int id = getIntent().getIntExtra("id", 0);
                final String orderOn = getIntent().getStringExtra("orderOn");
                final String orderTheme = getIntent().getStringExtra("orderTheme");
                taskAnswer = new ArrayList<>();
                for (int i = 0; i < mList.size(); i++) {
                    TTaskAnswer answer = new TTaskAnswer();
                    answer.setQuestionMark(mList.get(i).getQuestionMark());
                    String s = mStrings.get(i);
                    if (TextUtils.isEmpty(s)) {
                        Toast.makeText(StartTaskActivity.this, "还有题目未作答", Toast.LENGTH_SHORT).show();
                        return;
                    }
                    answer.setTheAnswer(mStrings.get(i));
                    taskAnswer.add(answer);
                }

                Log.d("题目答案", taskAnswer.toString());

                if (!TextUtils.isEmpty(mImageUrlsStr)) {
                    mStartTaskPresenter.successStartTask(mToken, id, orderOn, orderTheme, mImageUrlsStr, taskAnswer);
                    submit.setEnabled(false);
                } else {
                    Toast.makeText(StartTaskActivity.this, "请拍照", Toast.LENGTH_SHORT).show();
                }

                break;
        }
    }

适配器:

private StartTaskActivity mActivity;
//单选
singleViewHolder.rg_content.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(RadioGroup group, int checkedId) {
                    switch (checkedId) {
                        case R.id.rb_one:
                            mActivity.selectAnswer(position, "A");
                            break;
                        case R.id.rb_two:
                            mActivity.selectAnswer(position, "B");
                            break;
                        case R.id.rb_three:
                            mActivity.selectAnswer(position, "C");
                            break;
                        case R.id.rb_four:
                            mActivity.selectAnswer(position, "D");
                            break;

                    }
                }
            });

//多选

            moreViewHolder.cb_one.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                //这样写有时候会出现答案拼接错误的情况
//                    if(isChecked){
//                        answer += "A" + ",";
//                        Log.d("凉城适配器多选1", answer);
//                    }else{
//                        answer = "";
//                    }

                    String answer = formatAnswer(moreViewHolder.cb_one, moreViewHolder.cb_two, moreViewHolder.cb_three, moreViewHolder.cb_four);
                    mActivity.selectAnswer(position, answer);
                }
            });



private String formatAnswer(CheckBox one, CheckBox two, CheckBox three, CheckBox four) {
        StringBuilder sb = new StringBuilder();
        if (one.isChecked()) {
            sb.append("A");
        }
        if (two.isChecked()) {
            if (sb.length() > 0) {
                sb.append(",");
            }
            sb.append("B");
        }
        if (three.isChecked()) {
            if (sb.length() > 0) {
                sb.append(",");
            }
            sb.append("C");
        }
        if (four.isChecked()) {
            if (sb.length() > 0) {
                sb.append(",");
            }
            sb.append("D");
        }
        return sb.toString();
    }

//文本

textViewHolder.text_answer.addTextChangedListener(new TextWatcher() {
                @Override
                public void beforeTextChanged(CharSequence s, int start, int count, int after) {

                }

                @Override
                public void onTextChanged(CharSequence s, int start, int before, int count) {
                    mActivity.selectAnswer(position, textViewHolder.text_answer.getText().toString());
                }

                @Override
                public void afterTextChanged(Editable s) {

                }
            });
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值