当前位置: 代码迷 >> Android >> 仿一号店APP商品归类效果开发Android版本
  详细解决方案

仿一号店APP商品归类效果开发Android版本

热度:102   发布时间:2016-04-28 02:48:10.0
仿一号店APP商品分类效果开发Android版本


      昨天我们一起学习了一下一号店(IOS版本)(仿一号店APP商品分类效果开发IOS)商品分类效果编写今天我们一起来看一下Android版本上面的实现。其实我们的实现的具体思路差不多。总体先搞定一级分类,然后二级我们这边使用GridView布局。然后点击一级分类的每一项的时候,动态显示以及隐藏相关的二级分类数据。现在我们来看一下实现的效果.


     

      然后这边还有一点需要介绍的是ViewGrounp的一个动画android:animateLayoutchanges属性。这个属性设置这样就自动地按照默认方式来对要移除或添加的View,还有Group中的其他View进行动画。

     下面一起来看一下代码实现.

      (一)布局文件:

<span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <include layout="@layout/top_bar_one_layout" />    <FrameLayout        android:id="@+id/frame_content"        android:layout_width="match_parent"        android:layout_height="match_parent" >        <ScrollView            android:scrollbars="none"            android:layout_width="match_parent"            android:layout_height="match_parent" >            <LinearLayout                android:layout_width="match_parent"                android:layout_height="match_parent"                android:animateLayoutChanges="true"                android:orientation="vertical" >                <LinearLayout                    android:id="@+id/line_1"                    android:layout_width="match_parent"                    android:layout_height="108dip"                    android:orientation="horizontal" >                    <LinearLayout                        android:id="@+id/linear_1"                        android:layout_width="0dip"                        android:layout_height="match_parent"                        android:layout_weight="1"                        android:orientation="vertical" >                        <ImageView                            android:id="@+id/iv_1"                            android:layout_width="match_parent"                            android:layout_height="0dip"                            android:layout_marginTop="12dip"                            android:layout_marginLeft="12dip"                            android:layout_marginRight="12dip"                            android:layout_marginBottom="5dip"                            android:layout_weight="1"                            android:src="@drawable/ic_launcher" />                        <TextView                            android:id="@+id/tv_1"                            android:layout_width="match_parent"                            android:layout_height="wrap_content"                            android:gravity="center"                            android:layout_marginBottom="7dip"                            android:text="类别" />                    </LinearLayout>                    <include layout="@layout/line_option_vertical_category_layout" />                    <LinearLayout                        android:id="@+id/linear_2"                        android:layout_width="0dip"                        android:layout_height="match_parent"                        android:layout_weight="1"                        android:orientation="vertical" >                        <ImageView                            android:id="@+id/iv_2"                            android:layout_width="match_parent"                            android:layout_height="0dip"                            android:layout_marginTop="12dip"                            android:layout_marginLeft="12dip"                            android:layout_marginRight="12dip"                            android:layout_marginBottom="5dip"                            android:layout_weight="1"                            android:src="@drawable/ic_launcher" />                        <TextView                            android:id="@+id/tv_2"                            android:layout_width="match_parent"                            android:layout_height="wrap_content"                            android:layout_marginBottom="7dip"                            android:gravity="center"                            android:text="类别" />                    </LinearLayout>                    <include layout="@layout/line_option_vertical_category_layout" />                    <LinearLayout                        android:id="@+id/linear_3"                        android:layout_width="0dip"                        android:layout_height="match_parent"                        android:layout_weight="1"                        android:orientation="vertical" >                        <ImageView                            android:id="@+id/iv_3"                            android:layout_width="match_parent"                            android:layout_height="0dip"                            android:layout_marginTop="12dip"                            android:layout_marginLeft="12dip"                            android:layout_marginRight="12dip"                            android:layout_marginBottom="5dip"                            android:layout_weight="1"                            android:src="@drawable/ic_launcher" />                        <TextView                            android:id="@+id/tv_3"                            android:layout_width="match_parent"                            android:layout_height="wrap_content"                            android:layout_marginBottom="7dip"                            android:gravity="center"                            android:text="类别" />                    </LinearLayout>                </LinearLayout>                <LinearLayout                    android:id="@+id/hide_1"                    android:layout_width="match_parent"                    android:layout_height="wrap_content"                    android:animateLayoutChanges="false"                    android:orientation="vertical"                    android:visibility="gone" >                    <include                        layout="@layout/line_option_category_layout" />                    <com.zttmall.widget.MyGridView                        android:id="@+id/gv_1"                        android:layout_width="match_parent"                        android:layout_height="wrap_content"                        android:background="#66cccccc"                        android:listSelector="@color/transparent"                        android:numColumns="3" >                    </com.zttmall.widget.MyGridView>                </LinearLayout>                <LinearLayout                    android:id="@+id/hide_2"                    android:layout_width="match_parent"                    android:layout_height="wrap_content"                    android:orientation="vertical"                    android:visibility="gone" >                    <include layout="@layout/line_option_category_layout" />                   <com.zttmall.widget.MyGridView                        android:id="@+id/gv_2"                        android:layout_width="match_parent"                        android:layout_height="wrap_content"                        android:background="#66cccccc"                        android:listSelector="@color/transparent"                        android:numColumns="3" >                    </com.zttmall.widget.MyGridView>                </LinearLayout>                <LinearLayout                    android:id="@+id/hide_3"                    android:layout_width="match_parent"                    android:layout_height="wrap_content"                    android:orientation="vertical"                    android:visibility="gone" >                    <include layout="@layout/line_option_category_layout" />                    <com.zttmall.widget.MyGridView                        android:id="@+id/gv_3"                        android:layout_width="match_parent"                        android:layout_height="wrap_content"                        android:background="#66cccccc"                        android:listSelector="@color/transparent"                        android:numColumns="3" >                    </com.zttmall.widget.MyGridView>                </LinearLayout>                <include                     android:id="@+id/hide_divider_1"                    layout="@layout/line_option_category_layout" />                <LinearLayout                    android:id="@+id/line_2"                    android:layout_width="match_parent"                    android:layout_height="108dip"                    android:orientation="horizontal" >                    <LinearLayout                        android:id="@+id/linear_4"                        android:layout_width="0dip"                        android:layout_height="match_parent"                        android:layout_weight="1"                        android:orientation="vertical" >                        <ImageView                            android:id="@+id/iv_4"                            android:layout_width="match_parent"                            android:layout_height="0dip"                            android:layout_marginTop="12dip"                            android:layout_marginLeft="12dip"                            android:layout_marginRight="12dip"                            android:layout_marginBottom="5dip"                            android:layout_weight="1"                            android:src="@drawable/ic_launcher" />                        <TextView                            android:id="@+id/tv_4"                            android:layout_width="match_parent"                            android:layout_height="wrap_content"                            android:layout_marginBottom="7dip"                            android:gravity="center"                            android:text="类别" />                    </LinearLayout>                    <include layout="@layout/line_option_vertical_category_layout" />                    <LinearLayout                        android:id="@+id/linear_5"                        android:layout_width="0dip"                        android:layout_height="match_parent"                        android:layout_weight="1"                        android:orientation="vertical" >                        <ImageView                            android:id="@+id/iv_5"                            android:layout_width="match_parent"                            android:layout_height="0dip"                            android:layout_marginTop="12dip"                            android:layout_marginLeft="12dip"                            android:layout_marginRight="12dip"                            android:layout_marginBottom="5dip"                            android:layout_weight="1"                            android:src="@drawable/ic_launcher" />                        <TextView                            android:id="@+id/tv_5"                            android:layout_width="match_parent"                            android:layout_height="wrap_content"                            android:layout_marginBottom="7dip"                            android:gravity="center"                            android:text="类别" />                    </LinearLayout>                    <include layout="@layout/line_option_vertical_category_layout" />                    <LinearLayout                        android:id="@+id/linear_6"                        android:layout_width="0dip"                        android:layout_height="match_parent"                        android:layout_weight="1"                        android:orientation="vertical" >                        <ImageView                            android:id="@+id/iv_6"                            android:layout_width="match_parent"                            android:layout_height="0dip"                            android:layout_marginTop="12dip"                            android:layout_marginLeft="12dip"                            android:layout_marginRight="12dip"                            android:layout_marginBottom="5dip"                            android:layout_weight="1"                            android:src="@drawable/ic_launcher" />                        <TextView                            android:id="@+id/tv_6"                            android:layout_width="match_parent"                            android:layout_height="wrap_content"                            android:layout_marginBottom="7dip"                            android:gravity="center"                            android:text="类别" />                    </LinearLayout>                </LinearLayout>                <LinearLayout                    android:id="@+id/hide_4"                    android:layout_width="match_parent"                    android:layout_height="wrap_content"                    android:orientation="vertical"                    android:visibility="gone" >                    <include layout="@layout/line_option_category_layout" />                    <com.zttmall.widget.MyGridView                        android:id="@+id/gv_4"                        android:layout_width="match_parent"                        android:layout_height="wrap_content"                        android:background="#66cccccc"                        android:listSelector="@color/transparent"                        android:numColumns="3" >                    </com.zttmall.widget.MyGridView>                </LinearLayout>                <LinearLayout                    android:id="@+id/hide_5"                    android:layout_width="match_parent"                    android:layout_height="wrap_content"                    android:orientation="vertical"                    android:visibility="gone" >                    <include layout="@layout/line_option_category_layout" />                    <com.zttmall.widget.MyGridView                        android:id="@+id/gv_5"                        android:layout_width="match_parent"                        android:layout_height="wrap_content"                        android:background="#66cccccc"                        android:listSelector="@color/transparent"                        android:numColumns="3" >                    </com.zttmall.widget.MyGridView>                </LinearLayout>                <LinearLayout                    android:id="@+id/hide_6"                    android:layout_width="match_parent"                    android:layout_height="wrap_content"                    android:orientation="vertical"                    android:visibility="gone" >                    <include layout="@layout/line_option_category_layout" />                    <com.zttmall.widget.MyGridView                        android:id="@+id/gv_6"                        android:layout_width="match_parent"                        android:layout_height="wrap_content"                        android:background="#66cccccc"                        android:listSelector="@color/transparent"                        android:numColumns="3" >                    </com.zttmall.widget.MyGridView>                </LinearLayout>                <include                    android:id="@+id/hide_divider_2"                     layout="@layout/line_option_category_layout" />                <LinearLayout                    android:id="@+id/line_3"                    android:layout_width="match_parent"                    android:layout_height="108dip"                    android:orientation="horizontal" >                    <LinearLayout                        android:id="@+id/linear_7"                        android:layout_width="0dip"                        android:layout_height="match_parent"                        android:layout_weight="1"                        android:orientation="vertical" >                        <ImageView                            android:id="@+id/iv_7"                            android:layout_width="match_parent"                            android:layout_height="0dip"                            android:layout_margin="12dip"                            android:layout_weight="1"                            android:layout_marginTop="12dip"                            android:layout_marginLeft="12dip"                            android:layout_marginRight="12dip"                            android:layout_marginBottom="5dip"                            android:src="@drawable/ic_launcher" />                        <TextView                            android:id="@+id/tv_7"                            android:layout_width="match_parent"                            android:layout_marginBottom="7dip"                            android:layout_height="wrap_content"                            android:gravity="center"                            android:text="类别" />                    </LinearLayout>                    <include layout="@layout/line_option_vertical_category_layout" />                    <LinearLayout                        android:id="@+id/linear_8"                        android:layout_width="0dip"                        android:layout_height="match_parent"                        android:layout_weight="1"                        android:orientation="vertical" >                        <ImageView                            android:id="@+id/iv_8"                            android:layout_width="match_parent"                            android:layout_height="0dip"                            android:layout_marginTop="12dip"                            android:layout_marginLeft="12dip"                            android:layout_marginRight="12dip"                            android:layout_marginBottom="5dip"                            android:layout_weight="1"                            android:src="@drawable/ic_launcher" />                        <TextView                            android:id="@+id/tv_8"                            android:layout_width="match_parent"                            android:layout_height="wrap_content"                            android:layout_marginBottom="7dip"                            android:gravity="center"                            android:text="类别" />                    </LinearLayout>                    <include layout="@layout/line_option_vertical_category_layout" />                    <LinearLayout                        android:id="@+id/linear_9"                        android:layout_width="0dip"                        android:layout_height="match_parent"                        android:layout_weight="1"                        android:orientation="vertical" >                        <ImageView                            android:id="@+id/iv_9"                            android:layout_width="match_parent"                            android:layout_height="0dip"                            android:layout_marginTop="12dip"                            android:layout_marginLeft="12dip"                            android:layout_marginRight="12dip"                            android:layout_marginBottom="5dip"                            android:layout_weight="1"                            android:src="@drawable/ic_launcher" />                        <TextView                            android:id="@+id/tv_9"                            android:layout_width="match_parent"                            android:layout_marginBottom="7dip"                            android:layout_height="wrap_content"                            android:gravity="center"                            android:text="类别" />                    </LinearLayout>                </LinearLayout>                <LinearLayout                    android:id="@+id/hide_7"                    android:layout_width="match_parent"                    android:layout_height="wrap_content"                    android:orientation="vertical"                    android:visibility="gone" >                    <include layout="@layout/line_option_category_layout" />                    <com.zttmall.widget.MyGridView                        android:id="@+id/gv_7"                        android:layout_width="match_parent"                        android:layout_height="wrap_content"                        android:background="#66cccccc"                        android:listSelector="@color/transparent"                        android:numColumns="3" >                    </com.zttmall.widget.MyGridView>                </LinearLayout>                <LinearLayout                    android:id="@+id/hide_8"                    android:layout_width="match_parent"                    android:layout_height="wrap_content"                    android:orientation="vertical"                    android:visibility="gone" >                    <include layout="@layout/line_option_category_layout" />                   <com.zttmall.widget.MyGridView                        android:id="@+id/gv_8"                        android:layout_width="match_parent"                        android:layout_height="wrap_content"                        android:background="#66cccccc"                        android:listSelector="@color/transparent"                        android:numColumns="3" >                    </com.zttmall.widget.MyGridView>                </LinearLayout>                <LinearLayout                    android:id="@+id/hide_9"                    android:layout_width="match_parent"                    android:layout_height="wrap_content"                    android:orientation="vertical"                    android:visibility="gone" >                    <include layout="@layout/line_option_category_layout" />                    <com.zttmall.widget.MyGridView                        android:id="@+id/gv_9"                        android:layout_width="match_parent"                        android:layout_height="wrap_content"                        android:background="#66cccccc"                        android:listSelector="@color/transparent"                        android:numColumns="3" >                    </com.zttmall.widget.MyGridView>                </LinearLayout>                <include                    android:id="@+id/hide_divider_3"                     layout="@layout/line_option_category_layout" />                <LinearLayout                    android:id="@+id/line_4"                    android:layout_width="match_parent"                    android:layout_height="108dip"                    android:orientation="horizontal" >                    <LinearLayout                        android:id="@+id/linear_10"                        android:layout_width="0dip"                        android:layout_height="match_parent"                        android:layout_weight="1"                        android:orientation="vertical" >                        <ImageView                            android:id="@+id/iv_10"                            android:layout_width="match_parent"                            android:layout_height="0dip"                            android:layout_marginTop="12dip"                            android:layout_marginLeft="12dip"                            android:layout_marginRight="12dip"                            android:layout_marginBottom="5dip"                            android:layout_weight="1"                            android:src="@drawable/ic_launcher" />                        <TextView                            android:id="@+id/tv_10"                            android:layout_width="match_parent"                            android:layout_marginBottom="7dip"                            android:layout_height="wrap_content"                            android:gravity="center"                            android:text="类别" />                    </LinearLayout>                    <include layout="@layout/line_option_vertical_category_layout" />                    <LinearLayout                        android:id="@+id/linear_11"                        android:layout_width="0dip"                        android:layout_height="match_parent"                        android:layout_weight="1"                        android:orientation="vertical" >                        <ImageView                            android:id="@+id/iv_11"                            android:layout_width="match_parent"                            android:layout_height="0dip"                            android:layout_marginTop="12dip"                            android:layout_marginLeft="12dip"                            android:layout_marginRight="12dip"                            android:layout_marginBottom="5dip"                            android:layout_weight="1"                            android:src="@drawable/ic_launcher" />                        <TextView                            android:id="@+id/tv_11"                            android:layout_width="match_parent"                            android:layout_height="wrap_content"                            android:gravity="center"                            android:layout_marginBottom="7dip"                            android:text="类别" />                    </LinearLayout>                    <include layout="@layout/line_option_vertical_category_layout" />                    <LinearLayout                        android:id="@+id/linear_12"                        android:layout_width="0dip"                        android:layout_height="match_parent"                        android:layout_weight="1"                        android:orientation="vertical" >                        <ImageView                            android:id="@+id/iv_12"                            android:layout_width="match_parent"                            android:layout_height="0dip"                           android:layout_marginTop="12dip"                            android:layout_marginLeft="12dip"                            android:layout_marginRight="12dip"                            android:layout_marginBottom="5dip"                            android:layout_weight="1"                            android:src="@drawable/ic_launcher" />                        <TextView                            android:id="@+id/tv_12"                            android:layout_width="match_parent"                            android:layout_height="wrap_content"                            android:layout_marginBottom="7dip"                            android:gravity="center"                            android:text="类别" />                    </LinearLayout>                </LinearLayout>                <include                     android:id="@+id/hide_divider_4"                    layout="@layout/line_option_category_layout" />                <LinearLayout                    android:id="@+id/hide_10"                    android:layout_width="match_parent"                    android:layout_height="wrap_content"                    android:orientation="vertical"                    android:visibility="gone" >                    <include layout="@layout/line_option_category_layout" />                   <com.zttmall.widget.MyGridView                        android:id="@+id/gv_10"                        android:layout_width="match_parent"                        android:layout_height="wrap_content"                        android:background="#66cccccc"                        android:listSelector="@color/transparent"                        android:numColumns="3" >                    </com.zttmall.widget.MyGridView>                </LinearLayout>                <LinearLayout                    android:id="@+id/hide_11"                    android:layout_width="match_parent"                    android:layout_height="wrap_content"                    android:orientation="vertical"                    android:visibility="gone" >                    <include layout="@layout/line_option_category_layout" />                    <com.zttmall.widget.MyGridView                        android:id="@+id/gv_11"                        android:layout_width="match_parent"                        android:layout_height="wrap_content"                        android:background="#66cccccc"                        android:listSelector="@color/transparent"                        android:numColumns="3" >                    </com.zttmall.widget.MyGridView>                </LinearLayout>                <LinearLayout                    android:id="@+id/hide_12"                    android:layout_width="match_parent"                    android:layout_height="wrap_content"                    android:orientation="vertical"                    android:visibility="gone" >                    <include layout="@layout/line_option_category_layout" />                    <com.zttmall.widget.MyGridView                        android:id="@+id/gv_12"                        android:layout_width="match_parent"                        android:layout_height="wrap_content"                        android:background="#66cccccc"                        android:listSelector="@color/transparent"                        android:numColumns="3" >                    </com.zttmall.widget.MyGridView>                </LinearLayout>            </LinearLayout>        </ScrollView>    </FrameLayout>    <FrameLayout        android:id="@+id/prompt_framelayout"        android:layout_width="fill_parent"        android:layout_height="fill_parent"        android:visibility="gone" >        <include layout="@layout/loading" />        <include layout="@layout/empty" />        <include layout="@layout/error" />    </FrameLayout></LinearLayout></span>
(二)解决GridView与ScrollView的冲突问题

package com.zttmall.widget;import android.content.Context;import android.util.AttributeSet;import android.widget.GridView;public class CustomGridView extends GridView {	public CustomGridView(Context context) {		super(context);	}	public CustomGridView(Context context, AttributeSet attrs) {		super(context, attrs);	}	public CustomGridView(Context context, AttributeSet attrs, int defStyle) {		super(context, attrs, defStyle);	}	@Override	public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {		int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,				MeasureSpec.AT_MOST);		super.onMeasure(widthMeasureSpec, expandSpec);	}}
(三).具体实现代码如下:

package com.zttmall.fragment;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import tv.pps.modules.imagelogic.ImageLogic;import android.content.Intent;import android.os.Bundle;import android.os.Handler;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.FrameLayout;import android.widget.GridView;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.TextView;import com.alibaba.fastjson.JSON;import com.zttmall.BaseFragment;import com.zttmall.ZTTMallApplication;import com.zttmall.adapter.SubCategoryAdapter;import com.zttmall.common.DefineView;import com.zttmall.common.DeliverConsts;import com.zttmall.common.RequestURL;import com.zttmall.listlogic.ListFetcher;import com.zttmall.listlogic.ListSimpleParse;import com.zttmall.model.category.CategoryModel;import com.zttmall.model.category.ShowCategoryModel;import com.zttmall.model.category.SubCategoryModel;import com.zttmall.ui.ClassifyThreeCategoryActivity;import com.zttmall.ui.R;import com.zttmall.utils.Log;/** * 商品分类功能 *  * @author jiangqq *  */public class ClassifyFragment extends BaseFragment implements DefineView {	private View mView;	private TextView tab_bar_title_one;	private ShowCategoryModel model;	private FrameLayout frame_content;	private FrameLayout prompt_framelayout;	private LinearLayout loading;	private LinearLayout empty;	private LinearLayout error;	String descString;	private ListFetcher mListWorker;	private HashMap<String, String> requestMap;	private SubCategoryAdapter mSubCategoryAdapter;	ImageLogic mImageLogic;	private List<LinearLayout> linearList = new ArrayList<LinearLayout>();	private List<ImageView> ivList = new ArrayList<ImageView>();	private List<TextView> tvList = new ArrayList<TextView>();	private List<LinearLayout> hideList = new ArrayList<LinearLayout>();	private List<GridView> gvList = new ArrayList<GridView>();	private Handler mHandler = new Handler() {		public void handleMessage(android.os.Message msg) {			if (msg.what == ListFetcher.LIST_OK) {				getDataOk();			} else if (msg.what == ListFetcher.LIST_ERROR) {				getDataError();			}		};	};	@Override	public View onCreateView(LayoutInflater inflater, ViewGroup container,			Bundle savedInstanceState) {		if (mView == null) {			mView = inflater.inflate(R.layout.classify_fragment_layout,					container, false);			initView();			initValidata();			initListener();			bindData();		}		return mView;	}	@Override	public void initView() {		tab_bar_title_one = (TextView) mView				.findViewById(R.id.tab_bar_title_one);		tab_bar_title_one.setText(R.string.string_classify_name);		frame_content = (FrameLayout) mView.findViewById(R.id.frame_content);		prompt_framelayout = (FrameLayout) mView				.findViewById(R.id.prompt_framelayout);		loading = (LinearLayout) mView.findViewById(R.id.loading);		empty = (LinearLayout) mView.findViewById(R.id.empty);		error = (LinearLayout) mView.findViewById(R.id.error);		initViewList();	}	public void initViewList() {		/*		 * line1 = (LinearLayout) mView.findViewById(R.id.line_1); line2 =		 * (LinearLayout) mView.findViewById(R.id.line_2); line3 =		 * (LinearLayout) mView.findViewById(R.id.line_3); line4 =		 * (LinearLayout) mView.findViewById(R.id.line_4);		 */		linearList.add((LinearLayout) mView.findViewById(R.id.linear_1));		linearList.add((LinearLayout) mView.findViewById(R.id.linear_2));		linearList.add((LinearLayout) mView.findViewById(R.id.linear_3));		linearList.add((LinearLayout) mView.findViewById(R.id.linear_4));		linearList.add((LinearLayout) mView.findViewById(R.id.linear_5));		linearList.add((LinearLayout) mView.findViewById(R.id.linear_6));		linearList.add((LinearLayout) mView.findViewById(R.id.linear_7));		linearList.add((LinearLayout) mView.findViewById(R.id.linear_8));		linearList.add((LinearLayout) mView.findViewById(R.id.linear_9));		linearList.add((LinearLayout) mView.findViewById(R.id.linear_10));		linearList.add((LinearLayout) mView.findViewById(R.id.linear_11));		linearList.add((LinearLayout) mView.findViewById(R.id.linear_12));		ivList.add((ImageView) mView.findViewById(R.id.iv_1));		ivList.add((ImageView) mView.findViewById(R.id.iv_2));		ivList.add((ImageView) mView.findViewById(R.id.iv_3));		ivList.add((ImageView) mView.findViewById(R.id.iv_4));		ivList.add((ImageView) mView.findViewById(R.id.iv_5));		ivList.add((ImageView) mView.findViewById(R.id.iv_6));		ivList.add((ImageView) mView.findViewById(R.id.iv_7));		ivList.add((ImageView) mView.findViewById(R.id.iv_8));		ivList.add((ImageView) mView.findViewById(R.id.iv_9));		ivList.add((ImageView) mView.findViewById(R.id.iv_10));		ivList.add((ImageView) mView.findViewById(R.id.iv_11));		ivList.add((ImageView) mView.findViewById(R.id.iv_12));		tvList.add((TextView) mView.findViewById(R.id.tv_1));		tvList.add((TextView) mView.findViewById(R.id.tv_2));		tvList.add((TextView) mView.findViewById(R.id.tv_3));		tvList.add((TextView) mView.findViewById(R.id.tv_4));		tvList.add((TextView) mView.findViewById(R.id.tv_5));		tvList.add((TextView) mView.findViewById(R.id.tv_6));		tvList.add((TextView) mView.findViewById(R.id.tv_7));		tvList.add((TextView) mView.findViewById(R.id.tv_8));		tvList.add((TextView) mView.findViewById(R.id.tv_9));		tvList.add((TextView) mView.findViewById(R.id.tv_10));		tvList.add((TextView) mView.findViewById(R.id.tv_11));		tvList.add((TextView) mView.findViewById(R.id.tv_12));		hideList.add((LinearLayout) mView.findViewById(R.id.hide_1));		hideList.add((LinearLayout) mView.findViewById(R.id.hide_2));		hideList.add((LinearLayout) mView.findViewById(R.id.hide_3));		hideList.add((LinearLayout) mView.findViewById(R.id.hide_4));		hideList.add((LinearLayout) mView.findViewById(R.id.hide_5));		hideList.add((LinearLayout) mView.findViewById(R.id.hide_6));		hideList.add((LinearLayout) mView.findViewById(R.id.hide_7));		hideList.add((LinearLayout) mView.findViewById(R.id.hide_8));		hideList.add((LinearLayout) mView.findViewById(R.id.hide_9));		hideList.add((LinearLayout) mView.findViewById(R.id.hide_10));		hideList.add((LinearLayout) mView.findViewById(R.id.hide_11));		hideList.add((LinearLayout) mView.findViewById(R.id.hide_12));		gvList.add((GridView) mView.findViewById(R.id.gv_1));		gvList.add((GridView) mView.findViewById(R.id.gv_2));		gvList.add((GridView) mView.findViewById(R.id.gv_3));		gvList.add((GridView) mView.findViewById(R.id.gv_4));		gvList.add((GridView) mView.findViewById(R.id.gv_5));		gvList.add((GridView) mView.findViewById(R.id.gv_6));		gvList.add((GridView) mView.findViewById(R.id.gv_7));		gvList.add((GridView) mView.findViewById(R.id.gv_8));		gvList.add((GridView) mView.findViewById(R.id.gv_9));		gvList.add((GridView) mView.findViewById(R.id.gv_10));		gvList.add((GridView) mView.findViewById(R.id.gv_11));		gvList.add((GridView) mView.findViewById(R.id.gv_12));	}	@Override	public void initValidata() {		// TODO Auto-generated method stub		mImageLogic = ImageLogic.create(getActivity());		mImageLogic.configBitmapMaxHeight(120);		mImageLogic.configBitmapMaxWidth(120);		mListWorker = new ListFetcher(getActivity(),				ListSimpleParse.DEFAULT_JSON_CATEGORY, mHandler);		mListWorker.loadJsonDataList(RequestURL.CATEGORY_URL);		mSubCategoryAdapter = new SubCategoryAdapter(getActivity());		frame_content.setVisibility(View.GONE);		prompt_framelayout.setVisibility(View.VISIBLE);		loading.setVisibility(View.VISIBLE);		empty.setVisibility(View.GONE);		error.setVisibility(View.GONE);	}	@Override	public void initListener() {		// TODO Auto-generated method stub		error.setOnClickListener(new OnClickListener() {			@Override			public void onClick(View v) {				// TODO Auto-generated method stub				mListWorker.loadJsonDataList(RequestURL.CATEGORY_URL);				frame_content.setVisibility(View.GONE);				prompt_framelayout.setVisibility(View.VISIBLE);				loading.setVisibility(View.VISIBLE);				empty.setVisibility(View.GONE);				error.setVisibility(View.GONE);			}		});		for (int i = 0; i < linearList.size(); i++) {			linearList.get(i).setOnClickListener(					new MyCustomerOnclickListener());		}	}	@Override	public void bindData() {		// TODO Auto-generated method stub	}	@Override	public void getPageData() {		// TODO Auto-generated method stub	}	@Override	public void getDataOk() {		// TODO Auto-generated method stub		HashMap<String, Object> tempMap = ZTTMallApplication.getInstance()				.getTempMap();		model = (ShowCategoryModel) tempMap				.get(DeliverConsts.KEY_CATEGORY_MODEL);		if (model != null && model.getCode().equals("1")				&& "SUCCESS".equals(model.getMsg())) {			if (model.getData() != null && model.getData().size() > 0) {				showData(model);				frame_content.setVisibility(View.VISIBLE);				prompt_framelayout.setVisibility(View.GONE);				loading.setVisibility(View.GONE);				empty.setVisibility(View.GONE);				error.setVisibility(View.GONE);			} else {				frame_content.setVisibility(View.GONE);				prompt_framelayout.setVisibility(View.VISIBLE);				loading.setVisibility(View.GONE);				empty.setVisibility(View.VISIBLE);				error.setVisibility(View.GONE);			}		} else {			frame_content.setVisibility(View.GONE);			prompt_framelayout.setVisibility(View.VISIBLE);			loading.setVisibility(View.GONE);			empty.setVisibility(View.GONE);			error.setVisibility(View.VISIBLE);		}	}	@Override	public void getDataError() {		// TODO Auto-generated method stub	}	@Override	public void getDataRefresh() {		// TODO Auto-generated method stub	}	class MyCustomerOnclickListener implements OnClickListener {		@Override		public void onClick(View v) {			// TODO Auto-generated method stub			switch (v.getId()) {			case R.id.linear_1:				showOrHide(0, model.getData().get(0).getSub_category());				break;			case R.id.linear_2:				showOrHide(1, model.getData().get(1).getSub_category());				break;			case R.id.linear_3:				showOrHide(2, model.getData().get(2).getSub_category());				break;			case R.id.linear_4:				showOrHide(3, model.getData().get(3).getSub_category());				break;			case R.id.linear_5:				showOrHide(4, model.getData().get(4).getSub_category());				break;			case R.id.linear_6:				showOrHide(5, model.getData().get(5).getSub_category());				break;			case R.id.linear_7:				showOrHide(6, model.getData().get(6).getSub_category());				break;			case R.id.linear_8:				showOrHide(7, model.getData().get(7).getSub_category());				break;			case R.id.linear_9:				showOrHide(8, model.getData().get(8).getSub_category());				break;			case R.id.linear_10:				showOrHide(9, model.getData().get(9).getSub_category());				break;			case R.id.linear_11:				showOrHide(10, model.getData().get(10).getSub_category());				break;			case R.id.linear_12:				showOrHide(11, model.getData().get(11).getSub_category());				break;			}		}		void showOrHide(final int i, final List<SubCategoryModel> list) {			if (list != null && list.size() > 0) {				mSubCategoryAdapter.setmList(list);				gvList.get(i).setAdapter(mSubCategoryAdapter);				descString = model.getData().get(i).getDesc();				mSubCategoryAdapter.notifyDataSetChanged();				for (int j = 0; j < hideList.size(); j++) {					if (j != i) {						hideList.get(j).setVisibility(View.GONE);					} else {						if (hideList.get(i).getVisibility() == View.VISIBLE) {							hideList.get(i).setVisibility(View.GONE);						} else {							hideList.get(i).setVisibility(View.VISIBLE);							gvList.get(i).setOnItemClickListener(									new OnItemClickListener() {										@Override										public void onItemClick(												AdapterView<?> parent,												View view, int position, long id) {											// TODO Auto-generated method stub											Intent _Intent = new Intent(													getActivity(),													ClassifyThreeCategoryActivity.class);											_Intent.putExtra("title",													descString);											_Intent.putExtra(													"content",													JSON.toJSONString(list															.get(position)															.getThree_category()));											startActivity(_Intent);										}									});						}					}				}			} else {				List<SubCategoryModel> lists = new ArrayList<SubCategoryModel>();				mSubCategoryAdapter.setmList(lists);				mSubCategoryAdapter.notifyDataSetChanged();			}		}	}	void showData(ShowCategoryModel model) {		List<CategoryModel> mLists = model.getData();		int length = model.getData().size();		for (int i = 0; i < model.getData().size(); i++) {			tvList.get(i).setText(model.getData().get(i).getTitle());			mImageLogic					.display(ivList.get(i), model.getData().get(i).getIcon());		}		int temp = (length - 1) / 3 + 2;		for (int i = length; i < linearList.size(); i++) {			linearList.get(i).setVisibility(View.INVISIBLE);		}		if (linearList.size() > (temp - 1) * 3)			for (int i = (temp - 1) * 3; i < linearList.size(); i++) {				linearList.get(i).setVisibility(View.GONE);			}	}}
相应的信息实体类(Model)就不贴了,直接上一篇博客就行了。

下面给一下测试的地址:http://img2.xxh.cc:8080/SalesWebTest/CategoryList

最后再说一下最近我自己在搞工作室,希望小编(如果小编看到这段觉得不妥,请帮我删掉这段,非常感谢!)以及路过的朋友们不要介意哦。优清科技工作室团队,主要承接Android/IOS,J2EE,.Net,PHP,移动建站,网站建设,微信系统项目开发。

  相关解决方案