From c00be08606d01c4329c79c3789b49e4ebecd7baf Mon Sep 17 00:00:00 2001 From: Elliot Date: Sun, 7 Feb 2016 14:11:10 -0600 Subject: [PATCH] fix null pointer with savedInstanceState --- .../ui/fragments/tasks/TaskRecyclerViewFragment.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.java b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.java index 1601553ac..803a4cce0 100644 --- a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.java +++ b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.java @@ -4,6 +4,7 @@ import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -26,6 +27,7 @@ public class TaskRecyclerViewFragment extends BaseFragment implements View.OnCli public RecyclerView mRecyclerView; public RecyclerView.Adapter mAdapter; private String classType; + private static final String CLASS_TYPE_KEY = "CLASS_TYPE_KEY"; // TODO needs a bit of cleanup public void SetInnerAdapter(HabitItemRecyclerViewAdapter adapter, String classType) { @@ -41,6 +43,10 @@ public class TaskRecyclerViewFragment extends BaseFragment implements View.OnCli view = inflater.inflate(R.layout.fragment_recyclerview, container, false); } + if (savedInstanceState != null){ + this.classType = savedInstanceState.getString(CLASS_TYPE_KEY, ""); + } + switch (this.classType) { case Task.TYPE_HABIT: { this.tutorialStepIdentifier = "habits"; @@ -86,6 +92,12 @@ public class TaskRecyclerViewFragment extends BaseFragment implements View.OnCli mRecyclerView.setAdapter(mAdapter); } + @Override + public void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + outState.putString(CLASS_TYPE_KEY, this.classType); + } + public static TaskRecyclerViewFragment newInstance(HabitItemRecyclerViewAdapter adapter, String classType) { TaskRecyclerViewFragment fragment = new TaskRecyclerViewFragment(); fragment.setRetainInstance(true);