package com.handsomezhou.fragmentdemo.fragment; import java.util.ArrayList; import java.util.List; import com.handsomezhou.fragmentdemo.R; import com.handsomezhou.fragmentdemo.adapter.GridViewAdapter; import com.handsomezhou.fragmentdemo.model.IconButtonData; import com.handsomezhou.fragmentdemo.model.IconButtonValue; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.Button; import android.widget.GridView; import android.widget.Toast; public class GridViewFragment extends BaseFragment { private Button mBackBtn; private List<IconButtonData> mGridViewData; private GridView mGridViewGv; private GridViewAdapter mGridViewAdapter; public enum GRID_VIEW_TAG { ZERO, ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, } @Override protected void initData() { setContext(getActivity()); mGridViewData = new ArrayList<IconButtonData>(); /* Start: zero IconButtonData */ IconButtonValue zeroIconButtonValue = new IconButtonValue(GRID_VIEW_TAG.ZERO, R.drawable.zero_icon_selected_unfocused, R.string.zero); IconButtonData zeroIconButtonData = new IconButtonData(getContext(), zeroIconButtonValue); mGridViewData.add(zeroIconButtonData); /* End: zero IconButtonData */ /* Start: one IconButtonData */ IconButtonValue oneIconButtonValue = new IconButtonValue(GRID_VIEW_TAG.ONE, R.drawable.one_icon_selected_unfocused, R.string.one); IconButtonData oneIconButtonData = new IconButtonData(getContext(), oneIconButtonValue); mGridViewData.add(oneIconButtonData); /* End: one IconButtonData */ /* Start: two IconButtonData */ IconButtonValue twoIconButtonValue = new IconButtonValue(GRID_VIEW_TAG.TWO, R.drawable.two_icon_selected_unfocused, R.string.two); IconButtonData twoIconButtonData = new IconButtonData(getContext(), twoIconButtonValue); mGridViewData.add(twoIconButtonData); /* End: two IconButtonData */ /* Start: three IconButtonData */ IconButtonValue threeIconButtonValue = new IconButtonValue(GRID_VIEW_TAG.THREE, R.drawable.three_icon_selected_unfocused, R.string.three); IconButtonData threeIconButtonData = new IconButtonData(getContext(), threeIconButtonValue); mGridViewData.add(threeIconButtonData); /* End: three IconButtonData */ /* Start: four IconButtonData */ IconButtonValue fourIconButtonValue = new IconButtonValue(GRID_VIEW_TAG.FOUR, R.drawable.four_icon_selected_unfocused, R.string.four); IconButtonData fourIconButtonData = new IconButtonData(getContext(), fourIconButtonValue); mGridViewData.add(fourIconButtonData); /* End: four IconButtonData */ /* Start: five IconButtonData */ IconButtonValue fiveIconButtonValue = new IconButtonValue(GRID_VIEW_TAG.FIVE, R.drawable.five_icon_selected_unfocused, R.string.five); IconButtonData fiveIconButtonData = new IconButtonData(getContext(), fiveIconButtonValue); mGridViewData.add(fiveIconButtonData); /* End: five IconButtonData */ /* Start: six IconButtonData */ IconButtonValue sixIconButtonValue = new IconButtonValue(GRID_VIEW_TAG.SIX, R.drawable.six_icon_selected_unfocused, R.string.six); IconButtonData sixIconButtonData = new IconButtonData(getContext(), sixIconButtonValue); mGridViewData.add(sixIconButtonData); /* End: six IconButtonData */ /* Start: seven IconButtonData */ IconButtonValue sevenIconButtonValue = new IconButtonValue(GRID_VIEW_TAG.SEVEN, R.drawable.seven_icon_selected_unfocused, R.string.seven); IconButtonData sevenIconButtonData = new IconButtonData(getContext(), sevenIconButtonValue); mGridViewData.add(sevenIconButtonData); /* End: seven IconButtonData */ /* Start: eight IconButtonData */ IconButtonValue eightIconButtonValue = new IconButtonValue(GRID_VIEW_TAG.EIGHT, R.drawable.eight_icon_selected_unfocused, R.string.eight); IconButtonData eightIconButtonData = new IconButtonData(getContext(), eightIconButtonValue); mGridViewData.add(eightIconButtonData); /* End: eight IconButtonData */ /* Start: nine IconButtonData */ IconButtonValue nineIconButtonValue = new IconButtonValue(GRID_VIEW_TAG.NINE, R.drawable.nine_icon_selected_unfocused, R.string.nine); IconButtonData nineIconButtonData = new IconButtonData(getContext(), nineIconButtonValue); mGridViewData.add(nineIconButtonData); /* End: nine IconButtonData */ } @Override protected View initView(LayoutInflater inflater, ViewGroup container) { View view = inflater.inflate(R.layout.fragment_grid_view, container, false); mBackBtn = (Button) view.findViewById(R.id.back_btn); mGridViewGv = (GridView) view.findViewById(R.id.grid_view_grid_view); mGridViewAdapter = new GridViewAdapter(getContext(), R.layout.icon_button_grid_item, mGridViewData); mGridViewGv.setAdapter(mGridViewAdapter); return view; } @Override protected void initListener() { mBackBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { back(); } }); mGridViewGv.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { IconButtonData iconButtonData = mGridViewData.get(position); ViewSelect(iconButtonData); } }); } private void back() { getActivity().finish(); } private void ViewSelect(IconButtonData iconButtonData) { if (null == iconButtonData) { return; } switch ((GRID_VIEW_TAG) iconButtonData.getIconButtonValue().getTag()) { case ZERO: break; case ONE: break; case TWO: break; case THREE: break; case FOUR: break; case FIVE: break; case SIX: break; case SEVEN: break; case EIGHT: break; case NINE: break; default: break; } Toast.makeText(getContext(), iconButtonData.getIconButtonValue().getTag().toString(), Toast.LENGTH_SHORT).show(); } }