【发布时间】:2015-05-10 02:09:21
【问题描述】:
我已经制作了 225 个视图的 GridView mGridView 和适配器 mAdapter,并将适配器设置为 GridView。我还制作了一个按钮,所以当我点击它时:
Log.d("mAdapter.getCount()","" + mAdapter.getCount());
Log.d("mGridView.getCount()",""+mGridView.getCount());
Log.d("mGridView.getChildCount()",""+mGridView.getChildCount());
结果如下:
D/mAdapter.getCount()﹕ 225
D/mGridView.getCount()﹕ 225
D/mGridView.getChildCount()﹕ 180
这对我来说是个问题,因为我需要从0 到224 使用mGridView.getChildAt(int position)。每当我使用mGridView.getChildAt(180).setBackgroundColor(Color.BLUE) 时,我都会收到此错误:
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.setBackgroundColor(int)' on a null object reference
说孩子是null。但我不知道如何解决这个问题,所以我可以访问 GridView 中的每个孩子。
【问题讨论】:
标签: java android gridview android-arrayadapter