java - 如何填充 GridView 中的空单元格并使其不可点击

标签 java android gridview android-recyclerview

这是我的 GridView 代码

    <GridView
        android:id="@+id/device_display_grid"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:columnWidth="100dp"
        android:numColumns="3"
        android:verticalSpacing="1dp"
        android:horizontalSpacing="1dp"
        android:background="#e5e5e5"/>

这就是我的 GridView 的外观

我的 GridView

enter image description here

我正在从数据库获取数据并使用该数据填充我的 GridView。我的问题是如何使右下角的空白 View 以白色背景显示。 我还需要让我的 onItemClickListner 在被单击时不执行任何操作。假设如果我有 2 个空单元格,那么它们都应该被填充。

最佳答案

只需在数组的最后一个索引中添加一个额外的空对象即可。

 var emptycell=0
    if(array.size % 3 == 1) {
        array.add(EmptyObject())
        array.add(EmptyObject())
        emptycell=2
    } else if (list % 3 == 2) {
        array.add(EmptyObject())
        emptycell=1
    }

当用户单击任何项​​目时,您可以检查单击的位置应低于 array.size - 空单元格,如下所示。

if(position<array.size-emptycell){
//do whatever
}

关于java - 如何填充 GridView 中的空单元格并使其不可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59749197/

相关文章:

android - 如何解决org.simpleframework.xml.core.ValueRequiredException : Unable to satisfy @org. simpleframework.xml.ElementList()

java - Android Google Maps Library 在 General Mobile Discovery 上卡住

Android WebView LoadData - 土耳其字符

javascript - 如何使用 Javascript 从 GridView 隐藏选定行的复选框?

c# - 绑定(bind)数据后未处理PageIndexChanged

java - hibernate 异常 : Duplicate entry for key 'PRIMARY'

java - 在Java中将CSV文件读入数组[不兼容的类型: Integer cannot be converted to int[].]

android - 如何创建类似 Foursquare 兴趣选择屏幕的 gridview?

java - 有没有办法使用字符串来选择变量?

java - 在 while 表达式中初始化变量 - 而不是语句