You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

113 lines
4.0 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.example.fragment;
import android.view.View;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import androidx.annotation.IdRes;
import com.example.LoveDao;
import com.example.R;
import com.example.bean.QuestBean;
public class AnswerFragment extends BaseFragment implements RadioGroup.OnCheckedChangeListener {
private RadioButton rb_option_a;
private RadioButton rb_option_b;
private RadioButton rb_option_c;
private RadioButton rb_option_d;
private String option = "";
private RadioGroup rg_base;
private TextView tv_title;
QuestBean questBean = null;
private EditText et_answer;
public AnswerFragment(QuestBean questBean) {
this.questBean = questBean;
}
@Override
protected View initView() {
View view = View.inflate(mActivity, R.layout.fragment_quest, null);
tv_title = (TextView) view.findViewById(R.id._tv_title);
rg_base = (RadioGroup) view.findViewById(R.id._rg_base);
//如果是选择题找id,设置监听事件
if ("1".equals(questBean.getQ_type() + "")) {
rb_option_a = (RadioButton) view.findViewById(R.id._rb_option_a);
rb_option_b = (RadioButton) view.findViewById(R.id._rb_option_b);
rb_option_c = (RadioButton) view.findViewById(R.id._rb_option_c);
rb_option_d = (RadioButton) view.findViewById(R.id._rb_option_d);
rg_base.setOnCheckedChangeListener(this);
}
//如果是判断题找id,使C,D选项不可见设置监听事件
else if ("2".equals(questBean.getQ_type() + "")) {
rb_option_a = (RadioButton) view.findViewById(R.id._rb_option_a);
rb_option_b = (RadioButton) view.findViewById(R.id._rb_option_b);
rb_option_c = (RadioButton) view.findViewById(R.id._rb_option_c);
rb_option_d = (RadioButton) view.findViewById(R.id._rb_option_d);
//CD不可见
rb_option_c.setVisibility(View.GONE);
rb_option_d.setVisibility(View.GONE);
//监听事件
rg_base.setOnCheckedChangeListener(this);
}
//如果是简答题找id,使选项组不可见使EditText出现。
else if ("3".equals(questBean.getQ_type() + "")) {
et_answer = (EditText) view.findViewById(R.id.et_answer);
et_answer.setVisibility(View.VISIBLE);
rg_base.setVisibility(View.GONE);
}
return view;
}
@Override
public void initData() {
tv_title.setText("" + questBean.getTitle());
//如果没有传递数据,则退出
if (questBean == null) {
return;
}
// 如果是选择题,对应选项赋值
if ("1".equals(questBean.getQ_type() + "")) {
rb_option_a.setText("" + questBean.getOptionA());
rb_option_b.setText("" + questBean.getOptionB());
rb_option_c.setText("" + questBean.getOptionC());
rb_option_d.setText("" + questBean.getOptionD());
}
// 如果是判断题AB设置为对错。
else if ("2".equals(questBean.getQ_type() + "")) {
rb_option_a.setText("对");
rb_option_b.setText("错");
}
// 如果是简答题或者其他,不做数据填充
else {
}
}
@Override
public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) {
if (checkedId == rb_option_a.getId()) {
option = "A";
} else if (checkedId == rb_option_b.getId()) {
option = "B";
} else if (checkedId == rb_option_c.getId()) {
option = "C";
} else if (checkedId == rb_option_d.getId()) {
option = "D";
}
// 设置答案
questBean.setMyanswer(option);
// 数据库更新数据
LoveDao.updateLove(questBean);
}
}