2016-12-31 35 views
-2

顯示/隱藏RecyclerView適配器中的按鈕我有一些RecyclerView項目與隱形按鈕,我想從活動更改所有按鈕的可見性。就像這樣:從活動

Before

After clicked Edit Button in Activity

請幫助我。

+1

你是從數據庫中填充這個rec​​ycerview嗎? – BiGGZ

+0

@BiGGz yes ..... – hhhai0304

+0

在RecyclerView實現的Activity中定義了一個接口,然後在方法實現中調用'notifyDataSetChanged()'強制重載,並且有某種布爾值來指定是否設置按鈕可見性在'bindView()'中可見或不可見。該布爾值可以通過來自Activity的接口調用來初始化。合理?如果是這樣,我用一段代碼發佈答案 – BiGGZ

回答

4

爲什麼不在RecyclelerAdapter中創建一個方法,在Activity中發生某些操作時會激活該按鈕。比方說,一個活動名爲activateButtons這樣的:

public void activateButtons(boolean activate) { 
    this.activate = activate; 
    notifyDataSetChanged(); //need to call it for the child views to be re-created with buttons. 
} 

現在,您onBindViewHolder裏面,做這樣的事情:

if (activate) { 
    buttons.setVisibility(View.VISIBLE); 
} else { 
    buttons.setVisibility(View.INVISIBLE); 
} 

現在,最後一步,從活動調用activateButtons方法上的動作:

editButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
     adapter.activateButtons(true); 
     } 
}); 
+0

非常感謝。它的工作! – hhhai0304

+0

@ hhhai0304真棒。 –

+0

非常非常酷! – seekingStillness