package com.daviancorp.android.ui.detail; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.LoaderManager; import android.support.v4.app.LoaderManager.LoaderCallbacks; import android.support.v4.content.Loader; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import com.daviancorp.android.data.classes.ArenaQuest; import com.daviancorp.android.loader.ArenaQuestLoader; import com.daviancorp.android.mh3udatabase.R; public class ArenaQuestDetailFragment extends Fragment { private static final String ARG_ARENA_QUEST_ID = "ARENA_QUEST_ID"; private ArenaQuest mArenaQuest; TextView mQuest; TextView mGoal; TextView mLocation; TextView mReward; TextView mParticipants; TextView mSRank; TextView mARank; TextView mBRank; public static ArenaQuestDetailFragment newInstance(long arenaQuestId) { Bundle args = new Bundle(); args.putLong(ARG_ARENA_QUEST_ID, arenaQuestId); ArenaQuestDetailFragment f = new ArenaQuestDetailFragment(); f.setArguments(args); return f; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Check for a Arena Quest ID as an argument, and find the arena quest Bundle args = getArguments(); if (args != null) { long questId = args.getLong(ARG_ARENA_QUEST_ID, -1); if (questId != -1) { LoaderManager lm = getLoaderManager(); lm.initLoader(R.id.arena_quest_detail_fragment, args, new ArenaQuestLoaderCallbacks()); } } } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_arena_quest_detail, container, false); mQuest = (TextView) view.findViewById(R.id.quest); mGoal = (TextView) view.findViewById(R.id.goal); mLocation = (TextView) view.findViewById(R.id.location); mReward = (TextView) view.findViewById(R.id.reward); mParticipants = (TextView) view.findViewById(R.id.participants); mSRank = (TextView) view.findViewById(R.id.s_rank); mARank = (TextView) view.findViewById(R.id.a_rank); mBRank = (TextView) view.findViewById(R.id.b_rank); return view; } private void updateUI() { String cellQuest = mArenaQuest.getName(); String cellGoal = mArenaQuest.getGoal(); String cellLocation = mArenaQuest.getLocation().getName(); String cellReward = "" + mArenaQuest.getReward() + "z"; String cellParticipants = "" + mArenaQuest.getNumParticipants(); String cellSRank = "" + mArenaQuest.getTimeS(); String cellARank = "" + mArenaQuest.getTimeA(); String cellBRank = "" + mArenaQuest.getTimeB(); mQuest.setText(cellQuest); mGoal.setText(cellGoal); mLocation.setText(cellLocation); mReward.setText(cellReward); mParticipants.setText(cellParticipants); mSRank.setText(cellSRank); mARank.setText(cellARank); mBRank.setText(cellBRank); } private class ArenaQuestLoaderCallbacks implements LoaderCallbacks<ArenaQuest> { @Override public Loader<ArenaQuest> onCreateLoader(int id, Bundle args) { return new ArenaQuestLoader(getActivity(), args.getLong(ARG_ARENA_QUEST_ID)); } @Override public void onLoadFinished(Loader<ArenaQuest> loader, ArenaQuest arenaQuest) { mArenaQuest = arenaQuest; updateUI(); } @Override public void onLoaderReset(Loader<ArenaQuest> loader) { // Do nothing } } }