Android GridView将某些项设置为不可单击

Android GridView将某些项设置为不可单击,android,gridview,android-gridview,Android,Gridview,Android Gridview,我正在使用GridView实现一个自定义日历。 对于这个日历,我有3种视图类型,{DAY,TITLE,BLANK} 有没有办法使GridView中的某些项目不可单击 我试图避免的是不可点击项目的按下状态动画。如果用户按下它们,我可以识别它不是我的onItemClickListener()中的有效视图。这纯粹是出于用户界面的目的。在XML:android:clickable=“false”和代码中:setClickable(false) 在GridView的适配器中,实现一个get()方法来返回对

我正在使用GridView实现一个自定义日历。 对于这个日历,我有3种视图类型,{DAY,TITLE,BLANK}

有没有办法使GridView中的某些项目不可单击


我试图避免的是不可点击项目的按下状态动画。如果用户按下它们,我可以识别它不是我的onItemClickListener()中的有效视图。这纯粹是出于用户界面的目的。

在XML:android:clickable=“false”和代码中:setClickable(false)

在GridView的适配器中,实现一个get()方法来返回对所单击对象的引用。我假设适配器包装了“日历”对象的列表


在GridView的侦听器中,在适配器上调用get(index)或get(id),以获取对所单击对象的引用。检查它的类型,看看它是否是您不希望单击的类型,然后在执行通常在单击可单击项目时调用的逻辑之前返回。

我找到了解决方案。不知道为什么我一开始没有搜索ListView

您需要重写isEnabled()函数 返回false将使其不可单击。True将保持可单击状态

@Override
public boolean isEnabled(int position) {
    switch(getItemViewType(position)) {
        case CellTypes.BLANK:
        case CellTypes.TITLE:
        default :
            return false;
        case CellTypes.DAY:
            return true;
    }
}

从视图继承的。看,是的。我在获取元素方面没有问题。我将重新措辞这个问题。最好或者我应该说正确的做法。谢谢