同一个Fragment里面使用2个GridVIew

Zeinx_ 2016-09-06 03:58:19
我在一个Fragment里面使用了两个GridView,运行时报了空指针,且不指向具体代码,希望大神帮忙解答一下,谢谢
...全文
198 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
疯狂的兔子ccc 2016-09-06
  • 打赏
  • 举报
回复
楼上说得对,getView问题
香辣小龙人 2016-09-06
  • 打赏
  • 举报
回复
你的getView代码有问题啊,返回的永远是个空的view,改成这样试试
        public View getView(int position, View convertView, ViewGroup parent) {
            TextView textView;
            if (convertView == null){
                textView = new TextView(UiUtil.getContext());
                convertView=textView;
            }else{
                textView = (TextView) convertView;
            }
            textView.setText(mRecent[position]);

            return textView;
        }
zhang106209 2016-09-06
  • 打赏
  • 举报
回复
你的这个方法是什么? @Override protected View OnInitSuccessView() { View view = View.inflate(UiUtil.getContext(), R.layout.item_search_default, null); ButterKnife.bind(this, view); initEvent(); return view; } 不是应该onCreateView()吗?
Zeinx_ 2016-09-06
  • 打赏
  • 举报
回复
报错信息如下: 09-06 07:32:42.213 20371-20371/com.it.jdmarket E/AndroidRuntime: FATAL EXCEPTION: main java.lang.NullPointerException at android.widget.AbsListView.obtainView(AbsListView.java:2269) at android.widget.GridView.onMeasure(GridView.java:1030) at android.view.View.measure(View.java:15172) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1390) at android.widget.LinearLayout.measureVertical(LinearLayout.java:681) at android.widget.LinearLayout.onMeasure(LinearLayout.java:574) at android.view.View.measure(View.java:15172) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814) at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) at android.view.View.measure(View.java:15172) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814) at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) at android.view.View.measure(View.java:15172) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1390) at android.widget.LinearLayout.measureVertical(LinearLayout.java:681) at android.widget.LinearLayout.onMeasure(LinearLayout.java:574) at android.view.View.measure(View.java:15172) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814) at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) at android.view.View.measure(View.java:15172) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1390) at android.widget.LinearLayout.measureVertical(LinearLayout.java:681) at android.widget.LinearLayout.onMeasure(LinearLayout.java:574) at android.view.View.measure(View.java:15172) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814) at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2148) at android.view.View.measure(View.java:15172) at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1848) at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1100) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1273) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:998) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4212) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725) at android.view.Choreographer.doCallbacks(Choreographer.java:555) at android.view.Choreographer.doFrame(Choreographer.java:525) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711) at android.os.Handler.handleCallback(Handler.java:615) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4745) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) at dalvik.system.NativeStart.main(Native Method)
Zeinx_ 2016-09-06
  • 打赏
  • 举报
回复
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>
Zeinx_ 2016-09-06
  • 打赏
  • 举报
回复
相关代码如下: package com.it.jdmarket.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.jdmarket.R; import com.it.jdmarket.activity.base.BaseFragment; import com.it.jdmarket.activity.base.LoadDataUi; import com.it.jdmarket.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; } }

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧