Android 如何获取checked radioButton的值,以便我能够在下一个活动中以复选框形式显示它们?
我正在开发一个测验应用程序,在该应用程序中,用户从每张卡片中选择一个单选按钮(每张卡片包含一个问题,有四个选项),当用户单击floatingActionButton时,用户可以看到他/她在下一个活动中解决了哪些问题。问题编号下方的复选框表示他已解决该问题。 我到处找了,但找不到任何有用的东西。我被困在我的项目中。 这是我的密码 MainActivity.javaAndroid 如何获取checked radioButton的值,以便我能够在下一个活动中以复选框形式显示它们?,android,checkbox,android-recyclerview,Android,Checkbox,Android Recyclerview,我正在开发一个测验应用程序,在该应用程序中,用户从每张卡片中选择一个单选按钮(每张卡片包含一个问题,有四个选项),当用户单击floatingActionButton时,用户可以看到他/她在下一个活动中解决了哪些问题。问题编号下方的复选框表示他已解决该问题。 我到处找了,但找不到任何有用的东西。我被困在我的项目中。 这是我的密码 MainActivity.java package com.pratyush.onlineexamapp; public class MainActivity exten
package com.pratyush.onlineexamapp;
public class MainActivity extends AppCompatActivity {
private ArrayList<ModelClass> questionList = new ArrayList<>();
private RecyclerView recyclerView;
FloatingActionButton fabactsbmt,fabctprv;
private QuestionAdapter qAdapter;
private static final String FORMAT = "%02d:%02d";
private RadioGroup rg;
private RadioButton rb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView = (RecyclerView) findViewById(R.id.rcyclvw);
final TextView timer=(TextView)findViewById(R.id.timer) ;
int selectedId=rg.getCheckedRadioButtonId();
rb=(RadioButton)findViewById(selectedId);
qAdapter= new QuestionAdapter(this);
fabactsbmt=(FloatingActionButton)findViewById(R.id.sbmtBtn);
fabctprv=(FloatingActionButton)findViewById(R.id.prevwBtn);
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getApplicationContext(),LinearLayoutManager.HORIZONTAL, false);
recyclerView.setLayoutManager(mLayoutManager);
recyclerView.setItemAnimator(new DefaultItemAnimator());
recyclerView.setAdapter(qAdapter);
fabctprv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent it= new Intent(MainActivity.this,PreviewDetails.class);
String selectedFromList = (recyclerView.getItemAtPosition(position));
it.putIntegerArrayListExtra("Respone",);
rg.clearCheck();
startActivity(it);
}
});
fabactsbmt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this,"Your test will be submitted without taking you to Preview Activity",Toast.LENGTH_SHORT).show();
}
});
new CountDownTimer(60000, 1000) { // adjust the milli seconds here
public void onTick(long millisUntilFinished) {
timer.setText("Time Left:" + " " + String.format(FORMAT,
TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished) - TimeUnit.HOURS.toMinutes(
TimeUnit.MILLISECONDS.toHours(millisUntilFinished)),
TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) - TimeUnit.MINUTES.toSeconds(
TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished))) + "/01:00");
}
public void onFinish() {
AlertDialog.Builder builder = new AlertDialog.Builder(
MainActivity.this);
builder.setTitle("Time Out!!!");
builder.setMessage("Your Score is" + " " + 100);
builder.setCancelable(false);
/* builder.setNegativeButton("NO",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
Toast.makeText(getApplicationContext(),"No is clicked",Toast.LENGTH_LONG).show();
}
});*/
builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
System.exit(0);
}
});
builder.show();
}
}.start();
prepareTest();
}
public void prepareTest(){
ModelClass que1=new ModelClass();
que1.setQueNo("Question:- 1/11");
que1.setQue("who is the prime minister of india?");
que1.setOptn1(" Manmohan Singh");
que1.setOptn2(" Sonia Gandhi");
que1.setOptn3(" Narendra Modi");
que1.setOptn4(" Amit Shah");
que1.setAnswer("Narendra Modi");
questionList.add(que1);
ModelClass que2=new ModelClass();
que2.setQueNo("Question:- 2/11");
que2.setQue("who is the firs prime minister of india?");
que2.setOptn1("a) Manmohan Singh");
que2.setOptn2("b) Sonia Gandhi");
que2.setOptn3("c) Narendra Modi");
que2.setOptn4("d) Rajeev Gandhi");
questionList.add(que2);
ModelClass que3=new ModelClass();
que3.setQueNo("Question:- 3/11");
que3.setQue("who is the president of india?");
que3.setOptn1("a) Manmohan Singh");
que3.setOptn2("b) Sonia Gandhi ");
que3.setOptn3("c) Narendra Modi");
que3.setOptn4("d) Pratibha Patil");
questionList.add(que3);
ModelClass que4=new ModelClass();
que4.setQueNo("Question:- 4/11");
que4.setQue("Nobel prize is awarded for which of the following disciplines:");
que4.setOptn1("a) Literacy,physics");
que4.setOptn2("b) Chemistry");
que4.setOptn3("c) Medicine or Physiology");
que4.setOptn4("d) All of the Above");
questionList.add(que4);
ModelClass que5=new ModelClass();
que5.setQueNo("Question:- 5/11");
que5.setQue("Garampani Sanctuary is locate in which of the following places:");
que5.setOptn1("a) Junagarh, Gujarat");
que5.setOptn2("b) Kohima, Nagaland");
que5.setOptn3("c) Diphu, Assam");
que5.setOptn4("d) Gangtok, Sikkim");
questionList.add(que5);
ModelClass que6=new ModelClass();
que6.setQueNo("Question:- 6/11");
que6.setQue(" Entomology studies what?");
que6.setOptn1("a) Behavior of human beings");
que6.setOptn2("b) Insects");
que6.setOptn3("c) The origin and history of technical and scientific terms");
que6.setOptn4("d) The formation of rocks");
questionList.add(que6);
ModelClass que7=new ModelClass();
que7.setQueNo("Question:- 7/11");
que7.setQue("Galileo was an astronomer who");
que7.setOptn1("a) developed the telescope");
que7.setOptn2("b) discovered four satellites of Jupiter");
que7.setOptn3("c) discovered that the movement of pendulum produces a regular time measurement");
que7.setOptn4("d) All the above");
questionList.add(que7);
ModelClass que8=new ModelClass();
que8.setQueNo("Question:- 8/11");
que8.setQue("Who is the father of geometry?");
que8.setOptn1("a) Aristotle");
que8.setOptn2("b) Pythagoras");
que8.setOptn3("c) Euclid");
que8.setOptn4("d) Kepler");
questionList.add(que8);
ModelClass que9=new ModelClass();
que9.setQueNo("Question:- 9/11");
que9.setQue("Indian Player Jude Felix is associated with");
que9.setOptn1("a) Volleyball");
que9.setOptn2("b) Football");
que9.setOptn3("c) Hockey");
que9.setOptn4("d) Tennis");
questionList.add(que9);
ModelClass que10=new ModelClass();
que10.setQueNo("Question:- 10/11");
que10.setQue("The Indian, who holds the pride of beating the computers in mathematical wizard is:");
que10.setOptn1("a) Shakuntala Devi");
que10.setOptn2("b) Raja Ramanna");
que10.setOptn3("c) Ramanujam");
que10.setOptn4("d) Rina Panigrahi");
questionList.add(que10);
ModelClass que11=new ModelClass();
que11.setQueNo("Question:- 11/11");
que11.setQue("Who is popularly called as the Iron Man of India?");
que11.setOptn1("a) Subhash Chandra Bose");
que11.setOptn2("b) Sardar Vallabhbhai Patel");
que11.setOptn3("c) Govind Ballabh Pant");
que11.setOptn4("d) Jawaharlal Nehru");
questionList.add(que11);
}
public class QuestionAdapter extends RecyclerView.Adapter<QuestionAdapter.MyViewHolder> {
Context context;
public QuestionAdapter(Context context) {
this.context = context;
}
@Override
public QuestionAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.question_format, parent, false);
return new MyViewHolder(itemView);
}
@Override
public void onBindViewHolder(QuestionAdapter.MyViewHolder holder, int position) {
ModelClass model = questionList.get(position);
holder.queNo.setText(model.getQueNo());
holder.que.setText(model.getQue());
holder.opt1.setText(model.getOptn1());
holder.opt2.setText(model.getOptn2());
holder.opt3.setText(model.getOptn3());
holder.opt4.setText(model.getOptn4());
// Picasso.with(context).load(model.getImg()).into(holder.imgvw);
}
@Override
public int getItemCount() {
return questionList.size();
}
public class MyViewHolder extends RecyclerView.ViewHolder {
private TextView queNo,que,opt1,opt2,opt3,opt4;
public MyViewHolder(View view) {
super(view);
//RadioGroup radioGroup=(RadioGroup)findViewById(R.id.rgrp);
//RadioButton checkedButton = (RadioButton)findViewById(radioGroup.getCheckedRadioButtonId());
queNo = (TextView) view.findViewById(R.id.qNotext);
que = (TextView) view.findViewById(R.id.queText);
opt1 = (RadioButton) view.findViewById(R.id.opt1);
opt2 = (RadioButton) view.findViewById(R.id.opt2);
opt3 = (RadioButton) view.findViewById(R.id.opt3);
opt4 = (RadioButton) view.findViewById(R.id.opt4);
}
}
}
package com.pratyush.onlineexamapp;
public class PreviewDetails extends AppCompatActivity {
private ArrayList<Model> modelArrayList= new ArrayList<>();
GridView gridView;
FloatingActionButton finalSubmit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_preview_details);
gridView=(GridView)findViewById(R.id.gridView);
finalSubmit=(FloatingActionButton)findViewById(R.id.finalsbmt);
prepareData();
ResponseAdapter adapter=new ResponseAdapter(this);
gridView.setAdapter(adapter);
finalSubmit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(PreviewDetails.this,"Your Test will be submitted",Toast.LENGTH_SHORT).show();
}
});
}
public void prepareData(){
Model qno1=new Model();
qno1.setQnumber("Question no.1");
qno1.setCb(true);
modelArrayList.add(qno1);
Model qno2=new Model();
qno2.setQnumber("Question no.2");
qno2.setCb(true);
modelArrayList.add(qno2);
Model qno3=new Model();
qno3.setQnumber("Question no.3");
qno3.setCb(false);
modelArrayList.add(qno3);
Model qno4=new Model();
qno4.setQnumber("Question no.4");
qno4.setCb(true);
modelArrayList.add(qno4);
Model qno5=new Model();
qno5.setQnumber("Question no.5");
qno5.setCb(false);
modelArrayList.add(qno5);
Model qno6=new Model();
qno6.setQnumber("Question no.6");
qno6.setCb(true);
modelArrayList.add(qno6);
Model qno7=new Model();
qno7.setQnumber("Question no.7");
qno7.setCb(true);
modelArrayList.add(qno7);
Model qno8=new Model();
qno8.setQnumber("Question no.8");
qno8.setCb(true);
modelArrayList.add(qno8);
Model qno9=new Model();
qno9.setQnumber("Question no.9");
qno9.setCb(false);
modelArrayList.add(qno9);
Model qno10=new Model();
qno10.setQnumber("Question no.10");
qno10.setCb(true);
modelArrayList.add(qno10);
Model qno11=new Model();
qno11.setQnumber("Question no.11");
qno11.setCb(true);
modelArrayList.add(qno11);
}
private class ResponseAdapter extends BaseAdapter{
private Context context;
private LayoutInflater layoutInflater;
private ResponseAdapter( Context context){
this.context=context;
}
@Override
public int getCount() {
return modelArrayList.size();
}
@Override
public Object getItem(int i) {
return modelArrayList.get(i);
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
if (layoutInflater==null)
layoutInflater=(LayoutInflater)context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
if (view==null)
view=layoutInflater.inflate(R.layout.custom_grid,null);
TextView tv=(TextView) view.findViewById(R.id.tetView);
CheckBox checkBox=(CheckBox) view.findViewById(R.id.checkboxe);
tv.setText(modelArrayList.get(i).getQnumber());
checkBox.setChecked(modelArrayList.get(i).getCb());
return view;
}
}
package com.pratyush.onlineexamapp;
公共类MainActivity扩展了AppCompatActivity{
private ArrayList questionList=新建ArrayList();
私人回收站;
浮动操作按钮fabactsbmt、fabctprv;
私人电话适配器;
私有静态最终字符串格式=“%02d:%02d”;
私人放射组rg;
专用无线按钮rb;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView=(recyclerView)findViewById(R.id.rcyclvw);
最终文本视图计时器=(文本视图)findViewById(R.id.timer);
int selectedId=rg.getCheckedRadioButtonId();
rb=(单选按钮)findViewById(selectedId);
qAdapter=新问题适配器(此);
fabactsbmt=(FloatingActionButton)findViewById(R.id.sbmtBtn);
fabctprv=(FloatingActionButton)findViewById(R.id.prevwBtn);
RecyclerView.LayoutManager mLayoutManager=新建LinearLayoutManager(getApplicationContext(),LinearLayoutManager.HORIZONTAL,false);
recyclerView.setLayoutManager(mLayoutManager);
setItemAnimator(新的DefaultItemAnimator());
recyclerView.setAdapter(qAdapter);
fabctprv.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
Intent it=newintent(MainActivity.this,PreviewDetails.class);
字符串selectedFromList=(recyclerView.getItemAtPosition(position));
it.putIntegerArrayListExtra(“Respone”);
rg.clearCheck();
星触觉(it);
}
});
fabactsbmt.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
Toast.makeText(MainActivity.this,“您的测试将在不带您去预览活动的情况下提交”,Toast.LENGTH_SHORT.show();
}
});
新的倒计时(60000,1000){//在这里调整毫秒
公共void onTick(长毫秒未完成){
timer.setText(“左时间:”+“”+String.format(格式,
TimeUnit.millides.toMinutes(millisuntiltfinished)-TimeUnit.HOURS.toMinutes(
时间单位。毫秒。到小时(毫秒到结束)),
TimeUnit.millides.toSeconds(millisuntiltfinished)-TimeUnit.MINUTES.toSeconds(
时间单位。毫秒。汤姆分钟(毫秒到完成))+“/01:00”);
}
公共无效onFinish(){
AlertDialog.Builder=新建AlertDialog.Builder(
主要活动(本);
builder.setTitle(“超时!!!”;
setMessage(“您的分数为“+”+100);
builder.setCancelable(false);
/*builder.setNegativeButton(“否”,
新建DialogInterface.OnClickListener(){
公共void onClick(对话框接口对话框,
int(其中){
Toast.makeText(getApplicationContext(),“单击否”,Toast.LENGTH\u LONG.show();
}
});*/
setPositiveButton(“确定”,新的DialogInterface.OnClickListener(){
@凌驾
公共void onClick(DialogInterface,inti){
系统出口(0);
}
});
builder.show();
}
}.start();
准备测试();
}
公共空白准备测试(){
ModelClass que1=新的ModelClass();
问题1.塞特昆诺(“问题:-1/11”);
问题1.塞克(“谁是印度总理?”);
问题1.setOptn1(“曼莫汉·辛格”);
问题1.setOptn2(“索尼娅·甘地”);
问题1.setOptn3(“纳伦德拉·莫迪”);
问题1.setOptn4(“阿米特·沙阿”);
问题1.setAnswer(“纳伦德拉·莫迪”);
问题列表。添加(问题1);
ModelClass que2=新的ModelClass();
问题2.塞特昆诺(“问题:-2/11”);
问题2.塞克(“谁是印度第一任总理?”);
问题2.setOptn1(“a)曼莫汉·辛格”);
问题2.setOptn2(“b)索尼娅·甘地”);
问题2.setOptn3(“c)Narendra Modi”);
问题2.setOptn4(“拉吉耶夫·甘地”);
问题列表。添加(问题2);
ModelClass que3=新的ModelClass();
问题3.setQueNo(“问题:-3/11”);
问题3.塞克(“谁是印度总统?”);
问题3.setOptn1(“a)曼莫汉·辛格”);
问题3.setOptn2(“b)索尼娅·甘地”);
问题3.setOptn3(“c)纳伦德拉·莫迪”);
问题3.setOptn4(“d)Pratibha Patil”);
问题列表。添加(问题3);
ModelClass que4=新的ModelClass();
问题4.塞特昆诺(“问题:-4/11”);
问题4.塞克(“诺贝尔奖授予以下哪一个学科:”);
问题4.setOptn1(“a)识字、物理”);
问题4.setOptn2(“b)化学”);
问题4.setOptn3(“c)医学或生理学”);
问题4.设置选项4(“d)上述所有内容”);
问题列表。添加(问题4);
ModelClass que5=新的ModelClass();
问题5.塞特昆诺(“问题:-5/11”);
问题5.setQue(“Garampani保护区位于以下哪个地方:”);
问题5.setOptn1(“a)古吉拉特邦朱纳加尔”);
问题5.setOptn2(“b)纳加兰岛科希马”;
问题5.setOptn3(“c)阿萨姆邦迪福”;
问题5.setOptn4(“锡金甘托克”);
问题列表。添加(问题5);
ModelClass que6=新的ModelClass();
问题6.塞特昆诺(“问题:-6/11”);
问6.setQue(“昆虫学研究什么?”);
问题6.setOptn1(“a)人类行为”);
que6.setOptn2(“b)昆虫”);
que6.setO
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
switch (i){
case R.id.ans1:
//may be your answer is correct.
//Do existing works!
//Save the data to the database.
// Retrive the data from the database in the next activity(Intent)
}
}
});
import android.app.Dialog;
import android.os.CountDownTimer;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.CardView;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.TextView;
import android.widget.Toast;
import com.firebase.ui.database.FirebaseRecyclerAdapter;
import com.firebase.ui.database.FirebaseRecyclerOptions;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.database.ChildEventListener;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.Query;
import com.google.firebase.database.ValueEventListener;
import java.util.HashMap;
import java.util.Map;
import holder.QuestionHolder;
import model.ExamModel;
import model.QuestionModel;
import model.ResultCardModel;
import model.ResultModel;
public class LiveExamActivity extends AppCompatActivity {
CardView alert_card, timer_card, exam_card;
Button start_exam, finish_exam_btn;
TextView timer, exam_name, alert_text;
DatabaseReference database;
ExamModel examModel;
FirebaseRecyclerAdapter adapter;
RecyclerView questionrecycler;
long correct_ans=0;
CountDownTimer cdtimer;
String stun;
Map<String, String> map;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_live_exam);
database = FirebaseDatabase.getInstance().getReference();
alert_card = findViewById(R.id.alert_card);
start_exam = findViewById(R.id.start_exam_btn);
start_exam.setVisibility(View.GONE);
timer = findViewById(R.id.count_down_timer);
timer_card = findViewById(R.id.timer_card);
map = new HashMap<>();
exam_card = findViewById(R.id.exam_card);
exam_name = findViewById(R.id.exam_names);
alert_text = findViewById(R.id.alert_text);
finish_exam_btn = findViewById(R.id.finish_exam_btn);
questionrecycler = findViewById(R.id.questionrecycler);
finish_exam_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
uploadResult();
}
});
exam_name.setText("Exam Name: "+getIntent().getStringExtra("exam_name"));
database.child("exams")
.orderByChild("name")
.equalTo(getIntent().getStringExtra("exam_name"))
.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
examModel = dataSnapshot.getValue(ExamModel.class);
alert_text.setText("You will get "
+examModel.getTotal_question()
+" questions to solve in "
+examModel.getExam_duration()
+" minutes");
start_exam.setVisibility(View.VISIBLE);
}
@Override
public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
}
@Override
public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
start_exam.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
initalizeExam();
alert_card.setVisibility(View.GONE);
timer_card.setVisibility(View.VISIBLE);
questionrecycler.setVisibility(View.VISIBLE);
finish_exam_btn.setVisibility(View.VISIBLE);
cdtimer = new CountDownTimer(examModel.getExam_duration()*1000*60, 1000) {
public void onTick(long millisUntilFinished) {
timer.setText(""+((millisUntilFinished / 1000)%36000)/60+"m "+(millisUntilFinished / 1000)%60+"s");
}
public void onFinish() {
timer.setText("done!");
uploadResult();
}
}.start();
}
});
Query query = FirebaseDatabase.getInstance()
.getReference()
.child("questions")
.child(getIntent().getStringExtra("exam_name"));
FirebaseRecyclerOptions<QuestionModel> options =
new FirebaseRecyclerOptions.Builder<QuestionModel>()
.setQuery(query, QuestionModel.class)
.build();
adapter = new FirebaseRecyclerAdapter<QuestionModel, QuestionHolder>(options) {
@Override
public QuestionHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.live_question_card_recycler, parent, false);
return new QuestionHolder(view);
}
@Override
protected void onBindViewHolder(final QuestionHolder holder, int position, final QuestionModel model) {
View.OnClickListener mOnClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
if(((RadioButton) v).getText().toString().equals(model.getAns())){
map.put(model.getQuestion(), model.getAns());
}
else {
map.values().remove(model.getAns());
}
}
};
holder.clue1.setText(model.getClue1());
holder.clue1.setOnClickListener(mOnClickListener);
holder.clue2.setText(model.getClue2());
holder.clue2.setOnClickListener(mOnClickListener);
holder.clue3.setText(model.getClue3());
holder.clue3.setOnClickListener(mOnClickListener);
holder.clue4.setText(model.getClue4());
holder.clue4.setOnClickListener(mOnClickListener);
holder.question.setText(model.getQuestion());
}
};
questionrecycler.setAdapter(adapter);
questionrecycler.setLayoutManager(new LinearLayoutManager(this));
}
@Override
protected void onStop() {
super.onStop();
adapter.stopListening();
}
@Override
protected void onStart() {
super.onStart();
adapter.startListening();
}
private void uploadResult(){
try{
cdtimer.cancel();
}
catch (Exception e){}
final ResultModel resultModel = new ResultModel();
correct_ans = map.size();
resultModel.setTotal_ans(correct_ans);
resultModel.setTotal_questions(examModel.getTotal_question());
float percentage = (float) correct_ans/(float) examModel.getTotal_question();
percentage = percentage*30;
resultModel.setMarks_percentage(percentage);
resultModel.setName(stun);
Map map = new HashMap();
map.put("results/"+getIntent().getStringExtra("exam_name")+"/"+FirebaseAuth.getInstance().getCurrentUser().getUid(),resultModel);
ResultCardModel resultCardModel = new ResultCardModel();
resultCardModel.setObtained_marks(percentage);
resultCardModel.setTotal_ans(correct_ans);
resultCardModel.setTotal_questions(examModel.getTotal_question());
resultCardModel.setExam_name(examModel.getName());
map.put("resultcard/"+FirebaseAuth.getInstance().getCurrentUser().getUid()+"/"+getIntent().getStringExtra("exam_name"),resultCardModel);
database.updateChildren(map).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Toast.makeText(LiveExamActivity.this, "Finished Exam!", Toast.LENGTH_SHORT).show();
finish();
}
});
}
@Override
public void onBackPressed() {
if (timer_card.getVisibility()== View.VISIBLE){
final Dialog dialog = new Dialog(LiveExamActivity.this);
dialog.setCancelable(true);
dialog.setContentView(R.layout.confirn_exit);
Button exit = dialog.findViewById(R.id.confirm);
exit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
uploadResult();
}
});
Button stay = dialog.findViewById(R.id.stay);
stay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
}
else super.onBackPressed();
}
private void initalizeExam(){
final ResultModel resultModel = new ResultModel();
resultModel.setTotal_ans(correct_ans);
resultModel.setTotal_questions(examModel.getTotal_question());
float percentage = (float) correct_ans/(float) examModel.getTotal_question();
percentage = percentage*100;
resultModel.setMarks_percentage(percentage);
String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
FirebaseDatabase.getInstance()
.getReference()
.child("students")
.child(uid).child("name").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
stun = dataSnapshot.getValue(String.class);
resultModel.setName(dataSnapshot.getValue(String.class));
Map map = new HashMap();
map.put("results/"+getIntent().getStringExtra("exam_name")+"/"+FirebaseAuth.getInstance().getCurrentUser().getUid(),resultModel);
/*database.child("results")
.child(getIntent().getStringExtra("exam_name"))
.child(FirebaseAuth.getInstance().getCurrentUser().getUid())
.setValue(resultModel);*/
final ResultCardModel resultCardModel = new ResultCardModel();
resultCardModel.setObtained_marks(0);
resultCardModel.setTotal_ans(0);
resultCardModel.setExam_name(examModel.getName());
resultCardModel.setTotal_questions(examModel.getTotal_question());
map.put("resultcard/"+FirebaseAuth.getInstance().getCurrentUser().getUid()+"/"+getIntent().getStringExtra("exam_name"),resultCardModel);
database.updateChildren(map);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}