2012-09-25 32 views
0

我有網格視圖和基礎適配器。 我在適配器中總是有12個元素,但有時候需要非可聚焦或不可見的元素。非可聚焦元素上的Android GridView選擇

如果我有一個可見元素,並按右鍵選擇不可見項目。 我需要以某種方式禁用網格中該元素的焦點。

我試圖用

@Override 
    public boolean areAllItemsEnabled() { 

     Log.d("ARE ALL ITEMS", "ENTERED"); 
     return false; 
    } 

    @Override 
    public boolean isEnabled(int position) { 

     if (position >= numberOFRealElement) { 
      Log.d("FAVORITE DISABLED", "ENTERED"); 
      return false; 
     } 

     Log.d("FAVORITE ENABLED", "ENTERED"); 
     return true; 
    } 

但沒有成功。如何調用這些方法?看起來他們沒有自動調用。

編輯: Hidding元素代碼:

 item.setVisibility(View.GONE); 
     item.setFocusable(false); 
     item.setEnabled(false); 
     item.setClickable(false); 


     return item; 
+0

你是如何讓你的物品不可見? – Shrikant

+0

嘗試了一切......我在佈局中setEnable(false)setClicable(false)setFisable(false)setVisibility(View.INVISIBLE)我在getView和所有佈局中的子視圖中返回...但這不起作用。基本適配器中的O​​verriden方法根本不被調用。 – Veljko

+0

當我向右移動時,沒有選擇器,我已將它移除......但重點仍然存在於某處。當我離開時...選擇器在可見元素上可見。 – Veljko

回答

0

我沒有成功簡單地解決這個問題,所以我不得不找到解決這個Android錯誤的解決方法。 我不得不在GridView上附加OnKeyListener,並檢測選定的位置。如果用戶單擊右鍵或向下鍵並且存在不可見元素,則在KeyListener中返回true,並且Android不響應該鍵。 :)

0

嘗試使用view.setVisibility(View.GONE);

當你讓你的看法setVisibility(View.INVISIBLE),其唯一的無形的,但它仍然保持着發生在用戶界面,但是當你使用GONE ,視圖變得不可見,並且它不會在UI中使用任何空間。

因此,在您的情況下,當它變​​成GONE時,它將無法獲得任何焦點或無法選擇。

+0

它解決了你的問題嗎? – Shrikant

+0

不是。同樣的事情發生:/ – Veljko