2015-12-30 110 views
0

選擇整行我有一個GridView 3列刪除項目在GridView控件的Android

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

當我選擇它,我看到它被高亮顯示選定的項目。我想突出顯示選定的行以將其刪除,而不僅僅是該項目。 這可能嗎?從Gridview使用另一個UI控件更好嗎?

回答

0

是的,這是可能的。 當你選擇任何項目時跳過兩個位置,如選擇爲0,則下一個選擇將設置在p + 2 =第二個位置,然後選擇所有其他位置,這樣就可以選擇整行。 做同樣的事情,而你要刪除選定行的數據。

+0

如果我選擇第三個位置(第一行的最後一項)?如果我使用p + 2,我將更改行。你能給我一個代碼示例嗎? – Apollon

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 

     } 

    } 

    } 
+0

我會盡力告訴你,謝謝 – Apollon