android 中自定义GridView的使用

楼主最近在学习安卓,用和ListView类似的方法实现Gridview的时候出现了问题。希望高手能指点一二。

aty_using_gridview.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">

    <GridView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/gridView"
        android:numColumns="3"/>
</LinearLayout>

grid_view_cell.xml

 <?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="100dp"
    android:layout_height="100dp">

    <ImageView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:id="@+id/img_grid_view" />
</FrameLayout>

这个是Activity

 public class AtyUsingGridView extends Activity {


    private GridView  gridView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.aty_using_gridview);


        ImageGridViewAdapter adapter=new ImageGridViewAdapter(this);
        gridView.findViewById(R.id.gridView);
        gridView.setAdapter(adapter);
    }
}


这个是adapter

 public class ImageGridViewAdapter extends BaseAdapter {
        private Context context=null;
        private  ImageGridViewData data[]= {
                new ImageGridViewData( R.drawable.img2),
                new ImageGridViewData(R.drawable.img2),
                new ImageGridViewData( R.drawable.img2),
        };

        public ImageGridViewAdapter(Context context){
            this.context=context;
        }
        public Context getContext() {
            return context;
        }

        @Override
        public int getCount() {
            return data.length;
        }

        @Override
        public ImageGridViewData getItem(int i) {
            return data[i];
        }

        @Override
        public long getItemId(int i) {
            return i;
        }

        @Override
        public View getView(int i, View view, ViewGroup viewGroup) {
            FrameLayout fl=null;
            if(view!=null){
                fl=( FrameLayout)view;
            }else{
                fl= ( FrameLayout) LayoutInflater.from(getContext()).inflate(R.layout.grid_view_cell,null);
            }
            ImageGridViewData data=getItem(i);
            ImageView imgID=(ImageView)fl.findViewById(R.id.img_grid_view);

            imgID.setImageResource(data.imgID);

            return fl;
        }
    }

运行出现错误如下
Unable to start activity
java.lang.NullPointerException

我这有什么错误,希望高手给指出啊,万分感谢。

3个回答

gridView.findViewById(R.id.gridView); 这里你没有实例化gridview

改为gridview = gridView.findViewById(R.id.gridView)

gridView.findViewById(R.id.gridView);
改成 gridView = (GridView)findViewById(R.id.gridView);

gridView.findViewById(R.id.gridView); 这里你没有实例化gridview

改为gridview = gridView.findViewById(R.id.gridView)

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Android——自定义自适应高度的GridView
在使用Gridiew的时候,如果设定height=”wrap_content”,使用adapter往里面添加View时,有时出现显示不全,所以需要定义一个自适应高度的GridView
Android书架(自定义GridView)
Android书架(自定义GridView),可运行,亲测。
Android控件之GridView自定义
1、GridView自定义网格布局 自定义网格布局就是要求,为网格的定义一个布局文件,然后使用这个布局文件去渲染网格。同时为GridView绑定点击事件。效果如下图 2、代码介绍 Activity所对应的布局文件activity_main.xml,里面只有一个GridView控件。代码如下 <RelativeLayout xmlns:android="http://schemas.
Android自定义可加载更多的GridView,可直接使用
Android自定义可加载更多的GridView。坑爹,最低只能设置2分。博客地址http://blog.csdn.net/u013700040/article/details/79542116,觉得不错给个赞吧
自定义的GridView的使用
自定义的GridView的使用: 首先创建一个类,来继承GridView package com.example.zhanhaoxuan.zhanhaoxuan20171211; import android.content.Context; import android.util.AttributeSet; import android.widget.GridVie
android中ListView嵌套GridView的使用
android中ListView嵌套GridView的使用
Android自定义带分割线的GridView
Android自定义带分割线的GridViewAndroid GridView没有自带网格间的分隔线属性,一般的实现方式是利用android:verticalSpacing="1px" android:horizontalSpacing="1px" android:padding="1px"这3个属性来生成分割线。 不过前几天发现一个兼容性问题,android:horizontalSpacing=
android gridView实现自定义gallery
由于gallery控件的最左边和最右边都会留空,如果我们要把空白去掉,直接用自定义gallery实现很困难,所以我gridView实现gallery的功能,实现很简单,有兴趣的同学不妨看看。
Android自定义可加载更多的GridView
最近有这么一个GridView加载更多的需求,当然了,看到这个以后我首先想到是PullToRefresh,但是坑爹的我居然打不开!!!于是我开始找伟大的度娘了,一查后又发现还是不满足的需求,没办法,自己动手。由于之前有自己封装过加载更多的ListView,通过addFooterView来实现动画效果,可是GridView却没有这个属性啊,o(╥﹏╥)o作为一名程序猿,怎么能不想想办法呢,不然怎么在...
Android自定义Dialog显示GridView
自己写的android上的用来自定义Dialog,用自定义的Dialog来显示GridView。我也有些一个和这个相应的博客,有兴趣的可以去我的博客看下。
android 自定义dialog(嵌套GridView)
android 弹出菜单 采用自定义dialog(内部嵌套GridView) 跟开卷有益 一模一样 高度仿照 欢迎下载
Android中使用自定义View
一、自定义VIEW的详细步骤 在自定义view的时候,其实很简单,只需要知道3步骤: 1.测量——onMeasure():决定View的大小 2.布局——onLayout():决定View在ViewGroup中的位置 3.绘制——onDraw():如何绘制这个View。 一般自定义view需要遵循上面的步骤 二、Measure() Measure的中文意思就是测量。所以它的作用就
Android中使用自定义的字体
有时候应用中希望使用自定义的字体文件,下面的代码可以作为参考。   1. 将字体文件放入assert文件夹下,这里为fonts/xxx.ttf。 2. 在需要改变字体的Acitivity中使用FontManager.changeFonts()方法来改变字体。     源码打印? package arui.blog.csdn.net;       import...
android中gridview使用中出现重影
我用gridview来布局程序的主界面,每行五格的。然后我真正需要到的没行就一个而已,所以我把其他的都没设置图标。在虚拟机上可以运行的很好,但是到了真机上的时候就发现刚开启程序的时候会出现很多重影,本来整个主界面就五个图标,现在变成十几个了。点击进去其他页面再跳转回来的时候就又没问题了。都不知道这是个什么问题。。。求大牛解答。。。万分感谢。
Android控件GridView的使用
GridView简单说明:           GridView(网格视图)按照行列的方式来显示内容,一般用于显示图片.           GridView显示也需要三要素: 1)控件本身 2)数据源 3)适配器           GridView的常用属性如下:                                     android:numColumns       
自定义GridView的使用(盒子应用)
突然发现好久没有写博客了,一直放到笔记里面,今天update一下。最近做的一个项目中,是盒子+电视,用户通过遥控器来操作。 这里只是说下GridView在当前业务下的简单使用,其实效果可以更多,实现的方式可以更高级。 比如下面这个开源项目:https://github.com/FrozenFreeFall/Android-tv-widget 描述:一个界面里面有多个Item选项,当进入到页面后,
Android:控件GridView的使用
如果是列表(单列多行形式)的使用ListView,如果是多行多列网状形式的优先使用GridView。 &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;GridView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="m...
Android gridview使用示例
用gridview写的一个小例子 有需要的可以参考一下
Android下GridView的使用
Android下GridView的使用,详情参见博客:http://www.cnblogs.com/plokmju/p/android_GridView.html
自定义gridView
import android.content.Context; import android.util.AttributeSet; import android.widget.GridView; /**  * Created by 张梦雨 on 2016/5/22 0022.  */ public class MyGridView extends GridView {     p
自定义GridView
/** * 重写gridView 让行数自动显示完,自适应高度, listView 可嵌套 */ public class NoScrollGridView extends GridView { public NoScrollGridView(Context context) { super(context); } public NoScrollGrid
自定义gridview
解决和scollview,ListView的冲突问题
Android中的GridView的简介,配置与使用
gridviewGridView(网格视图)是按照行列的方式来显示内容的,一般用于显示图片,图片等内容,比如实现九宫格图,用GridView是首选,也是最简单的。主要用于设置Adapter。 布局中的配置GridView常用的XML属性: 属性名称 描述Android:columnWidth 设置列的宽度。android:gravi
android中使用Viewpager和Gridview分页显示数据
android中使用Viewpager和Gridview分页显示数据
Android中GridView(网络视图)使用
GridView(网格视图)是按照行列的方式来显示内容的,一般用于显示图片,图片等内容,比如实现九宫格图,用GridView是首选,也是最简单的。主要用于设置Adapter。 GridView常用的XML属性:   属性名称 描述 Android:columnWidth 设置列的宽度。 andro
android中ExpandableListView嵌套ListView和GridView的使用
android中ExpandableListView嵌套ListView和GridView的使用
android中ExpandableListView嵌套GridView的使用
android中ExpandableListView嵌套GridView的使用
gridview中自定义列的问题
如何在gridvie中触发我自定的一个checkbox列的事件 急.
Android中的GridView的运用
GridView是按照行和列的方式来显示多个组件,通常用来显示图片或者图标等。GridView的常用属性 android:columnWidth 设置列宽 android:gravity 设置对其方式 android:horizontalSpacing 设置各元素之间的水平间距 android:numColumns 设置列数,属性值通常大于1,如果只有1列,就是ListView了 android:s
android中gridview的点击事件
想请教一下,我的gridview每一行都有一个gridview和一个textview,然后我想点击任一行,跳转到另一界面同时把对应的gridview和textview的内容传过去。rnrnrn gv.setOnItemClickListener( //设置选项被单击的监听器rn new OnItemClickListener()rn @Override rn public void onItemClick(AdapterView arg0, View arg1, int arg2,rn long arg3) //重写选项被单击事件的处理方法rn rn [color=#FF0000]这里应该怎么写啊 [/color] rn rnrnrnrn谢谢!!!!
Android中Gridview
AS开发Gridview视图以及设置itemclick事件
Android中GridView网格视图
GridView 与 ListView其实是类似的,ListView是一行只包含一类,而GridView则一行可以包含多列。 属性介绍: - android:columnWidth 设置列框 - android:gravity 设置对齐方式 - android:horizontalSpacing 设置该列各个元素之间的水平间距 - android:verticalSpacin
android中gridView实例
代码中,具体展示了如何去创建和使用android中的控件gridView
android中gridview的上拉加载更多
gridview上拉加载更多
android中的gridview应用实例
使用gridvie做出漂亮的界面,熟练掌握gridview的用法
Android Toast自定义使用
1.Toast源码分析 我们先去看Toast的源码。 Toast有两种显示布局方式,一种最常见调用Toast.makeText(),看源码是这样写的 public static Toast makeText(Context context, CharSequence text, @Duration int duration) { Toast result = new Toast(contex
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件