2016-05-24 28 views

Antwort

0

in Ihrer viewHolder Klasse

public static class ViewHolder extends RecyclerView.ViewHolder { 

    View rootView; 

public ViewHolder(View itemView) { 
    super(itemView); 
    rootView = itemView; 

    } 
} 
    @Override 

und dann in onBindViewHolder

public void onBindViewHolder(final ViewHolder holder, int position) { 
     holder.rootView.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       //overridden default onClick 
      } 
     }); 
    } 
Stellen Sie die clickable Eigenschaft auf true auf Ihren Artikel Layout Wurzelknoten
0

Sie können es durch recyclerView.setItemAnimator(null);

+0

Derzeit wird diese Ausnahme ausgelöst: NullPointerException: Es wurde versucht, die virtuelle Methode 'void android.support.v7.widget.SimpleItemAnimator.setSupportsChangeAnimations (boolean)' für einen Nullobjektverweis aufzurufen – Project

0

deaktivieren.

Beispiel item_layout.xml:

<LinearLayout 
    ... 
    android:clickable="true" 
    ... 
    > 

    ... 

</LinearLayout 
0

Ich glaube, Sie berühren sprechen über ripple Wirkung.

Um diesen Effekt zu deaktivieren, setzen Sie einfach einen Hintergrund color auf das Root-Layout Ihrer RecyclerView's Artikellayouts XML.

Zum Beispiel:

// recyclerview_item.xml 
<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/activity_aaa" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#ff0000"> 

    ................ 
    ....................... 

</RelativeLayout> 

Hope this helfen ~

Verwandte Themen