jeudi 26 juillet 2018

How to get the value of checked radioButton so that i am able to display them in next Activity in checkbox form?

I am building a quiz app in which user selects one of the radioButton from each one cards(each card contains one question with four options) and on pressing the submit floatingActionButton the user can see which has he/she solved on the next Activity .A checkbox below a question number means that he has solved that question. I have searched everywhere but cant get anything helpful.I am stuck in my project.Here are my Codes MainActivity.java

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);
        }
    }
}

Here is my Preview Activity.java

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;
    }
}

**For now i have just set those values in checkboxes manually.Thanks in advance **




Aucun commentaire:

Enregistrer un commentaire