2012-10-20 23 views
-1

我有ListView。我是能夠成功地填充該ListView但什麼是現在想要的是當用戶長按ListItem它應該做一個按鈕,可見這是我當我填充ListView不可見。如何訪問ListView android中的視圖項?

這裏片斷我都試過了。

mItemListView.setOnItemLongClickListener(新OnItemLongClickListener(){

 @Override 
     public boolean onItemLongClick(AdapterView<?> adapterview, View arg1, 
       int arg2, long arg3) { 
      LinearLayout view=(LinearLayout) mItemListView.getChildAt(arg2); 
      view.getChildAt(0).setVisibility(View.VISIBLE); 
      return false; 
     } 
    }); 

我的適配器擴展BaseAdapter

+1

onItemLongClick中的arg1是您單擊的項目,因此請使用此arg1視圖中的findViewById來檢查您的按鈕 –

+1

@Satya謝謝親愛的我完全按照您所說的去做。 –

回答

2

使用傳遞到您的onItemLongClick(AdapterView<?> adapterview, View arg1, int arg2, long arg3)方法查看。例如

mItemListView.setOnItemLongClickListener(new OnItemLongClickListener() { 

    @Override 
    public boolean onItemLongClick(AdapterView<?> adapterview, View arg1, 
      int arg2, long arg3) { 
      arg1.setVisibility(View.VISIBLE); 
      return false; 
    } 
}); 
+0

感謝兄弟從你的回答中得到了一個主意,我的問題不再存在;-) –

0

我承擔此按鈕是每個列表項中填充的線性佈局中佈局的一部分?在這種情況下,使用view.findViewById(id_of_your_button)並獲得按鈕查看和設置爲可見。

0

你必須調用notifyDataSetChanged()的適配器上重繪列表。但要小心,如果您將該按鈕設置爲在適配器的getView方法內不可見,則會將可見性恢復爲不可見。

你應該使用一個單獨的列保持每個按鈕的顯示狀態,撥動那個狀態,並用它繪製時設置按鈕的狀態。