2017-03-27 152 views
0

我有一個列表視圖顯示在下面鏈接的圖像。我想要的是,點擊「接受訂單」按鈕後,該按鈕將被隱藏,並且最初隱藏的另一個切換按鈕將變爲可見。這種行爲只會影響被點擊的行,並不會影響列表視圖中的其他行(其他行仍然會顯示接受訂單按鈕)。如何設置按鈕的onclicklistener?隱藏listview中的某些元素onclick

Listview in question

回答

0

首先,你需要的自定義對象爲每行一個列表。 每個對象應該有一個布爾值來控制每個不同行的按鈕的狀態。

例子:

public class Order { 
    private String title; 
    private boolean isAccepted; 

    public Price(String title, boolean isAccepted) { 
     this.title = title; 
     this.isAccepted = isAccepted; 
    } 

    public String getTitle() { 
     return title; 
    } 

    public void setTitle(String title) { 
     this.title = title; 
    } 

    public boolean isAccepted() { 
     return isAccepted; 
    } 

    public void setIsAccepted(boolean isAccepted) { 
     this.isAccepted = isAccepted; 
    } 
} 

2-創建訂單類的ArrayList(或任何你有),並設置您的數據。你的邏輯可以像「if isAccepted == true,然後hide Show Order Button」使用這個邏輯設置你的數據。

設置一個適配器來列出你的項目在一個listView中。在您的適配器中,將onclicklistener設置爲您的按鈕,並且當您單擊按鈕時,將布爾值設置爲列表的正確位置。然後通知/更新您的適配器。

如果您還有其他問題,請檢查this simple example

+0

v.getParent()和你的鏈接例如內使用getChildAt(INT指數)就是我需要!謝謝 – ko5win

0

對於你必須設置一個適配器,它提供

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

有ListView控件設置了onClickListener的按鈕和相應的切換按鈕的可見性。

特定視圖是由

convertView.searchViewById(int) 

引用對於ListView的例子,請大家看看here