package com.dozuki.ifixit.ui.topic_view; import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.GridView; import com.dozuki.ifixit.R; import com.dozuki.ifixit.model.guide.GuideInfo; import com.dozuki.ifixit.model.topic.TopicLeaf; import com.dozuki.ifixit.ui.BaseFragment; import com.dozuki.ifixit.ui.GuideListAdapter; import com.dozuki.ifixit.ui.guide.view.GuideViewActivity; public class TopicGuideListFragment extends BaseFragment { protected static final String SAVED_TOPIC = "SAVED_TOPIC"; private TopicLeaf mTopicLeaf; /** * Required for restoring fragments */ public TopicGuideListFragment() {} public TopicGuideListFragment(TopicLeaf topicLeaf) { mTopicLeaf = topicLeaf; } @Override public void onCreate(Bundle savedState) { super.onCreate(savedState); if (savedState != null && mTopicLeaf == null) { mTopicLeaf = (TopicLeaf)savedState.getSerializable(SAVED_TOPIC); } } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.topic_guide_list, container, false); GridView gridView = (GridView)view.findViewById(R.id.topic_guide_grid); GuideListAdapter adapter = new GuideListAdapter(getSherlockActivity(), mTopicLeaf.getGuides(), true); gridView.setAdapter(adapter); gridView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View view, int position, long id) { GuideInfo guide = mTopicLeaf.getGuides().get(position); Intent intent = new Intent(getSherlockActivity(), GuideViewActivity.class); intent.putExtra(GuideViewActivity.GUIDEID, guide.mGuideid); startActivity(intent); } }); return view; } @Override public void onSaveInstanceState(Bundle state) { super.onSaveInstanceState(state); state.putSerializable(SAVED_TOPIC, mTopicLeaf); } }