通过在GridView Android中选择整行来删除项目

时间:2015-12-30 16:57:47

标签: android gridview

我有一个包含3列的Gridview

  <GridView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/gridView"        
    android:numColumns="3"     />

当我选择它时,我看到它突出显示所选项目。我想突出显示所选行以删除它而不仅仅是项目。 可能吗?使用Gridview中的另一个UI控件是否更好?

2 个答案:

答案 0 :(得分:1)

这样做, 我只是添加逻辑。你必须以击球方式做到这一点。 一切顺利。

public void selectRow(int selectedItemPos)
  {
    int TotlaItemInGrid = 17;
    int lastpos = TotlaItemInGrid-1;
    //0 1 2
    //3 4 5
    //6 7 8
    //9 10 11
    //12 13 14
    //15 16

    // case 1 if user select first row
    // in this condition position 0,1,2 will fix
    if(selectedItemPos == 0 || selectedItemPos==1 || selectedItemPos==2)
    {

      for(int pos =selectedItemPos ; pos<=lastpos; (pos+2))
      {
        // do selection
        // if you select 0 then here you will get result like 0,3,6,9...
        // if you select 0 then here you will get result like 1,4,7,10...
        // if you select 0 then here you will get result like 2,5,8,11..,
      }
    }

    // case 2 if user select last row
    // 
    else if(selectedItemPos == lastpos || selectedItemPos==(lastpos-1) || selectedItemPos==(lastpos-2))
    {
      for(int pos =selectedItemPos ; pos>=0; (pos-2))
      {
        // do selection

      }

    }

    // case 3 in between first and last row
    else
    {
      for(int pos =selectedItemPos ; pos>=0;(pos-2))
      {
        // do selection

      }
      for(int pos =selectedItemPos ; pos<=lastpos; (pos+2))
      {
        // do selection

      }

    }

  }

答案 1 :(得分:0)

是的,这是可能的。 当你选择任何项目时跳过两个位置,如果选择为0然后下一个选择ll设置在p + 2 =第二个位置,然后选择所有其他位置,这样你就可以选择整行。 当你想删除所选行的数据时,做同样的事情。