2014-03-03 62 views
0

我有一个GridView(Android)。我想隐藏其中一列,然后访问它的值。如何在GridView中隐藏列(android)

可能吗?

+0

SetVisibility,但这是所有的GridView所以没有关系 – fRubio

+0

我把我的答案放在你的问题的下面,但它真的很难想出一个很好的理由,你会试图推动这个......你能解释一下你正在努力完成? – NameSpace

+0

我正在从数据库加载信息并将其放入gridview。第一列包含对我有用的ID,用于管理数据库,但对用户无用。我想没有加载ID,但我需要它来做另一个查询。这就是为什么我想隐藏它。 (我试图实现你的建议)......我不知道我是否已经很好地解释了它...... – fRubio

回答

0

更新:根据您的回复,我觉得你最好把你的数据在地图上,而不是用一种无形的列...

例子:

HashMap<Integer, Integer> map_positionToId = new HashMap<Integer, Integer>(); 
    map_positionToId.put(position, id); 
    int id = map_positionToId.get(position); 

有没有简单的设置在GridView上进行翻转以使我知道的列不可见。 然而,下面是尝试建议...这可能需要一些试验和错误的正确决绝:

这是你的GridView适配器getView方法:

public View getView(int position, View convertView, ViewGroup parent) { 

     //You want your if(convertView == null) code here. 
     //As we can't set visibility of a null object; 

     .... 

     // Assuming u want to blank the 3rd column, in a 3 column gridview 
     if(position % 3 == 0) 
      convertView.setVisibility(View.INVISIBLE); //u can try gone too? 
     else 
      convertView.setVisibility(View.VISIBLE); 

     // rest of your code... 

    } 

您也可能玩弄填充/边距,并查看宽度,以获得所需的效果,如果您试图将不可见列从屏幕上推下去。