2017-02-09 7 views
1

複数のアイテムタイプを持つリサイクルビューがあり、選択したディバイダを画像から隠したいと思っています。私は現在、水平と垂直の両方の装飾のためにDividerItemDecorationを使用しています。DividerItemDecorationを使用してrecyclerlerview内のアイテムディバイダを非表示にする

DividerItemDecoration verticalDecoration = new DividerItemDecoration(getActivity(), DividerItemDecoration.HORIZONTAL); 
verticalDecoration.setDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.divider_2dp)); 
DividerItemDecoration horizontalDecoration = new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL); 
horizontalDecoration.setDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.divider_2dp)); 

mRecyclerView.addItemDecoration(verticalDecoration); 
mRecyclerView.addItemDecoration(horizontalDecoration); 

enter image description here

+1

分割線はビュー所有者xmlの一部である必要があります。そのため、項目ごとの区切り文字を制御できます。 – Micha

答えて

2

ミカがあなたの回答にコメントとして、あなたはあなたのクラスのレベルにあなたの分周器の取り扱いを削除し、アダプタのビューでそれを追加する必要があります。お好みあたりの水平または垂直のどちらか

<View 
    android:id="@+id/divider" 
    android:layout_width="match_parent" 
    android:layout_height="1dp" 
    android:background="@color/light_grey"/> 

とアダプタ内の条件を通じて可視性を制御します:あなたのviewholderのXMLにビューを追加

特に
View tipsDivider = itemView.findViewById(R.id.divider); 
myViewHolder.divider.setVisibility(View.GONE); 

あなたの質問に、含まれておりませんあなたがタイトル( "ADVANCED")を持っているとき、またはそれが要素についてのときには、それを隠すことができます。position == arraylist.size() - 1;

誰でもこの質問に遭遇するのを助けることを望みます。

関連する問題