Rev 1 | Rev 5 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
package com.cesams.twogetskills.fragment;import android.content.Context;import android.os.Build;import android.os.Bundle;import android.text.Html;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;import androidx.annotation.NonNull;import androidx.annotation.Nullable;import androidx.fragment.app.Fragment;import androidx.lifecycle.LifecycleOwner;import androidx.recyclerview.widget.LinearLayoutManager;import androidx.recyclerview.widget.RecyclerView;import com.cesams.twogetskills.R;import com.cesams.twogetskills.adapter.QuizMultipleAnswerListViewAdapter;import com.cesams.twogetskills.entity.Answer;import com.cesams.twogetskills.entity.Question;import com.cesams.twogetskills.pojo.QuizResponse;import com.cesams.twogetskills.skeleton.IQuizActivity;import java.util.ArrayList;import java.util.Collections;import java.util.List;import com.codesgood.views.JustifiedTextView;public class QuizMultipleAnswerFragment extends Fragment implements LifecycleOwner {private final String TAG = "C2GS - QuizMultiFrag";private IQuizActivity iQuizActivity;private QuizMultipleAnswerListViewAdapter adapter;private RecyclerView recyclerView;private Question mQuestion;private ArrayList<Answer> mAnswers;private List<QuizResponse> mQuizResponses;private JustifiedTextView justifyTextView;private TextView titulo;// data is passed into the constructorpublic QuizMultipleAnswerFragment (Context context) {this.iQuizActivity = (IQuizActivity) context ;this.mQuestion = iQuizActivity.getQuestionActive();this.mQuizResponses = iQuizActivity.getQuizResponses();this.mAnswers = new ArrayList<>();}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {return inflater.inflate(R.layout.fragment_quiz_multiple_answer, container, false);}@Overridepublic void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {super.onViewCreated(view, savedInstanceState);LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity());mAnswers = new ArrayList<>();adapter = new QuizMultipleAnswerListViewAdapter(getActivity(), mQuestion, mAnswers, mQuizResponses);titulo = getView().findViewById(R.id.textView5);recyclerView = (RecyclerView) getView().findViewById(R.id.list_quiz_multiple_answer);recyclerView.setAdapter(adapter);recyclerView.setLayoutManager( linearLayoutManager);recyclerView.setHasFixedSize(true);}@Overridepublic void onResume() {super.onResume();Log.d(TAG, "onResume");loadData();}@Overridepublic void onHiddenChanged(boolean hidden) {super.onHiddenChanged(hidden);Log.d(TAG, "onHiddenChanged : " + (hidden ? "true" : "false"));if(!hidden) {loadData();}}void loadData(){if(adapter != null) {mQuestion = iQuizActivity.getQuestionActive();String contenido;contenido=Html.fromHtml(mQuestion.getText(), Html.FROM_HTML_MODE_COMPACT).toString();titulo.setText(contenido);mAnswers.clear();List<Answer> answers = answers = iQuizActivity.getAnswers(mQuestion.getUuid());for (int i = 0; i < answers.size(); i++) {try {Answer answer = (Answer) answers.get(i).clone();mAnswers.add(answer);} catch (CloneNotSupportedException e) {}}Collections.shuffle(mAnswers);adapter.notifyDataSetChanged();}}}