2016-12-31 10 views
-2

RecyclerViewアイテムには不可視ボタンがあり、ボタンの表示をアクティビティからすべて変更したいと思います。このように:RecyclerViewのボタンをアクティビティから表示/非表示

Before

After clicked Edit Button in Activity

私を助けてください。

+1

このrecycerviewはデータベースから入力していますか? – BiGGZ

+0

@BiGGzはい..... – hhhai0304

+0

RecyclerViewが実装するインターフェイスを定義し、メソッドの実装では、再ロードを強制するために 'notifyDataSetChanged()'を呼び出し、設定するかどうかを指定する何らかの並べ替えを行います'bindView()'で可視か非可視かを視覚的に確認できます。このブール値は、アクティビティからのインタフェース呼び出しによって初期化できます。理にかなっている?その場合は、コード – BiGGZ

答えて

4

RecyclerAdapter内に、アクティビティ内で特定のアクションが発生したときにボタンをアクティブにするメソッドを作成しないのはなぜですか?このような何かを、あなたのonBindViewHolderの内側に、今

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

::さんが言ってみましょう活動は、このようなactivateButtonsという名前

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

を、今、最後のステップは、アクションにActivityからactivateButtonsメソッドを呼び出します:

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

ありがとうございました。それは働いた! – hhhai0304

+0

@ hhhai0304素晴らしい。 –

+0

非常に涼しい! – seekingStillness

関連する問題