Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 标记跳过的单元格GridView_Android_Android Gridview_Baseadapter - Fatal编程技术网

Android 标记跳过的单元格GridView

Android 标记跳过的单元格GridView,android,android-gridview,baseadapter,Android,Android Gridview,Baseadapter,是否有可能标记跳过的单元格,以便方法getView(BaseAdapter)中的位置不再对其计数。因为跳过单元格而不将其标记为跳过或“空”可能会导致NPE提供您的有效负载(例如,从一个可绘制数组…搜索堆栈,刚刚找到一个示例,其中他还想跳到下一个源…我不希望这样 参见链接 更新: 这将使您完全清楚:) 问题是,我可以缩放图像..这意味着..关于屏幕宽度,一行只能容纳指定数量的图像。希望您能给我支持:)如果我理解正确,您会问是否有办法忽略传递到GridView适配器的某些项?不,没有。您必须从适

是否有可能标记跳过的单元格,以便方法getView(BaseAdapter)中的位置不再对其计数。因为跳过单元格而不将其标记为跳过或“空”可能会导致NPE提供您的有效负载(例如,从一个可绘制数组…搜索堆栈,刚刚找到一个示例,其中他还想跳到下一个源…我不希望这样

参见链接

更新:

这将使您完全清楚:)


问题是,我可以缩放图像..这意味着..关于屏幕宽度,一行只能容纳指定数量的图像。希望您能给我支持:)

如果我理解正确,您会问是否有办法忽略传递到
GridView
适配器的某些项?不,没有。您必须从适配器中删除要跳过的项。否则,您可以按照该链接的建议进行操作,只需为要跳过的任何项目画一个空格

更新

好吧,当我把我给你的想法写在纸上时,它没有成功。最终的解决方案不仅需要在适配器端,而且还需要在小部件端进行大量定制。你所需要的(以及我正在尝试的)是一种通过它的排序类型来组织图像的方法。所以你会有一个以“a”开头的图片列表。以及另一个以“b”开头的图像列表。然后使用排序类型的
Map
查找这些列表。问题是普通的
ListAdapter
不适合这种设置。什么是
ExpandableListAdapter
。如果支持
GridView

我在创建自定义ExpandableGridView的代码的地方找到了它。发布问题的人正在寻找类似问题的解决方案。我建议你试试,看看是否对你有用


还有一个开源库似乎备受关注:

是的,我已经做了……更多尝试,但我认为这完全破坏了gridview的性能。。因为我需要很多if语句。。也许我没有完全使用BaseAdapter的hole函数,以更高性能的方式实现我的想法。。。如果你知道如何以最好的方式实现这一点。。请随意写一些代码或建议,这将是非常好的。。我的目标是按字母顺序对图像进行排序。。所以它必须是动态的,因为如果用户添加另一个带有新标签的图像,图像的数量会随时间而变化。。。谢谢@Jay Soyer图像数量随时间而变化…如果到达下一个字母..例如,查看所有带有Startetter A的图像,我需要跳到下一行(用空项目填充当前行),然后在那里添加带有Startetter B的下一个第一个图像..依此类推。。也许你有点什么……我会很感激@Jay SoyerI我想我明白你的意思了。基本上,您只希望行包含所有一种排序类型。因此,所有以A开头的图像将仅与其他以A开头的图像在同一行。当遇到以B开头的图像时,应以新行开始。此外,图像列表将不断变化?是的,正确!)我更新了我的问题,给你一个更好的概览,明白了。最后的问题,您是否总是按照标签文本中的第一个字母排序?或者你遵循的是另一种逻辑?我想我有一个解决办法给你。