我在一个Fragment里面使用两个GridView,都设置为包裹内容,运行时报了空指针,而且不显示代码具体报错位置,求大神帮忙解答一下

解决方案 »

  1.   

    相关代码如下:
    package com.it.jdet.activity.fragment;import android.view.View;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.GridView;
    import android.widget.TextView;import com.it.jdet.R;
    import com.it.jdet.activity.base.BaseFragment;
    import com.it.jdet.activity.base.LoadDataUi;
    import com.it.jdet.activity.utils.UiUtil;import butterknife.Bind;
    import butterknife.ButterKnife;/**
     * Created by Administrator on 2016/9/2.
     */
    public class SearchDefaultFragment extends BaseFragment {
        @Bind(value = R.id.tv_search_clearall)
        protected TextView mTv_clear;    @Bind(value = R.id.gv_search_hot)
        protected GridView mGv_hot;    @Bind(value = R.id.gv_search_recent)
        protected GridView mGv_recent;    String[] mHot = new String[]
                { "外套", "毛衣", "外套", "毛衣", "羽绒服","羽绒服","羽绒服","毛衣", "外套", "内裤", "毛衣", "内裤"};    String[] mRecent = new String[]
                { "内裤", "羽绒服", "外套", "毛衣", "羽绒服"};    @Override
        protected View OnInitSuccessView() {
            View view = View.inflate(UiUtil.getContext(), R.layout.item_search_default, null);
            ButterKnife.bind(this, view);        initEvent();
            return view;
        }
        private void initEvent() {        mGv_hot.setAdapter(new MyHotAdapter());
            mGv_recent.setAdapter(new MyRecentAdapter());        mTv_clear.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    mGv_recent.removeAllViews();
                }
            });
        }    public class MyHotAdapter extends BaseAdapter{        @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                TextView textView;
                if (convertView == null){
                    textView = new TextView(UiUtil.getContext());
                }else{
                    textView = (TextView) convertView;
                }
                textView.setText(mHot[position]);            return convertView;
            }
            @Override
            public int getCount() {
                return mHot.length;
            }        @Override
            public Object getItem(int position) {
                return null;
            }        @Override
            public long getItemId(int position) {
                return 0;
            }    }    public class MyRecentAdapter extends BaseAdapter{        @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                TextView textView;
                if (convertView == null){
                    textView = new TextView(UiUtil.getContext());
                }else{
                    textView = (TextView) convertView;
                }
                textView.setText(mRecent[position]);            return convertView;
            }
            @Override
            public int getCount() {
                return mRecent.length;
            }        @Override
            public Object getItem(int position) {
                return null;
            }        @Override
            public long getItemId(int position) {
                return 0;
            }    }    @Override
        protected LoadDataUi.Result doInbackground() {
            return LoadDataUi.Result.SUCCESS;
        }}
      

  2.   

    xml文件:<?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">    <TextView android:layout_width="match_parent"
                  android:layout_height="40dp"
                  android:layout_marginLeft="10dp"
                  android:drawableLeft="@drawable/search_hot"
                  android:drawablePadding="10dp"
                  android:gravity="center_vertical"
                  android:text="热门搜索"/>    <GridView android:id="@+id/gv_search_hot"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:columnWidth="90dp"
                  android:numColumns="3"
                  android:verticalSpacing="10dp"
                  android:horizontalSpacing="10dp"
                  android:stretchMode="columnWidth"
                  android:gravity="center"></GridView>    <TextView android:layout_width="match_parent"
                  android:layout_height="40dp"
                  android:layout_marginLeft="10dp"
                  android:drawableLeft="@drawable/search_recent"
                  android:drawablePadding="10dp"
                  android:gravity="center_vertical"
                  android:text="最近搜索"/>    <GridView android:id="@+id/gv_search_recent"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:columnWidth="90dp"
                  android:numColumns="3"
                  android:verticalSpacing="10dp"
                  android:horizontalSpacing="10dp"
                  android:stretchMode="columnWidth"
                  android:gravity="center"></GridView>    <TextView android:id="@+id/tv_search_clearall"
                  android:layout_marginTop="20dp"
                  android:layout_gravity="center"
                  android:textColor="#aa000000"
                  android:textSize="20dp"
                  android:text="清除搜索历史"
                  android:layout_width="wrap_content"
                  android:drawableLeft="@drawable/clean"
                  android:layout_height="wrap_content"/></LinearLayout>