Rev 4 | 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.QuizSingleAnswerListViewAdapter;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 QuizSingleAnswerFragment extends Fragment implements LifecycleOwner {private final String TAG = "C2GS - QuizSingleFrag";private IQuizActivity iQuizActivity;private RecyclerView recyclerView;private QuizSingleAnswerListViewAdapter adapter;private Question mQuestion;private List<Answer> mAnswers;private List<QuizResponse> mQuizResponses;//private JustifiedTextView justifyTextView;private TextView titulo;// data is passed into the constructorpublic QuizSingleAnswerFragment (Context context) {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_single_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 QuizSingleAnswerListViewAdapter(getActivity(), mQuestion, mAnswers, mQuizResponses);//justifyTextView = (JustifiedTextView) getView().findViewById(R.id.justifytext_quiz_single_answer);titulo = getView().findViewById(R.id.textView4);recyclerView = getView().findViewById(R.id.list_quiz_single_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();}}private void loadData(){if(adapter != null) {mQuestion = iQuizActivity.getQuestionActive();titulo.setText(Html.fromHtml(mQuestion.getText(), Html.FROM_HTML_MODE_COMPACT));mAnswers.clear();List<Answer> 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.resetSelection();adapter.notifyDataSetChanged();}}}