Mam przycisk przepełnienia wewnątrz CardView
w Recyclerview
. Za każdym razem, gdy klikam przycisk, wyświetlam menu kontekstowe, ale także RecyclerView
przewija w dół o jedną pozycję. Czy ktoś może mi pomóc powstrzymać to niechciane przewijanie?PopupMenu kliknięcie powoduje, że RecyclerView przewija
Zasadniczo próbuję replikować takie samo zachowanie przycisku przepełnienia, jak w Playstore.
Układ:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="5dp">
<android.support.v7.widget.CardView
android:id="@+id/cv_tracks"
android:layout_width="match_parent"
android:layout_height="65dp"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="60dp">
<ImageView
android:id="@+id/ivTracks"
android:layout_width="60dp"
android:layout_height="60dp"
android:background="@drawable/unknown"
/>
<Button
android:id="@+id/imgbtn_overflow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:drawableTop="@drawable/ic_overflow"
android:paddingLeft="25dp"
android:paddingRight="20dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
</android.support.v7.widget.CardView>
</RelativeLayout>
Adapter:
@Override
public void onBindViewHolder(final TracksViewHolder tracksViewHolder, int i) {
tracksViewHolder.imgBtnOverflow.setTag(i);
tracksViewHolder.imgBtnOverflow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Creating the instance of PopupMenu
final int position = (Integer) v.getTag();
PopupMenu popup = new PopupMenu(mContext,tracksViewHolder.imgBtnOverflow);
//Inflating the Popup using xml file
popup.getMenuInflater()
.inflate(R.menu.popup_menu_overflow, popup.getMenu());
//registering popup with OnMenuItemClickListener
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
if(mPopUpClick!=null)
mPopUpClick.actionOnPopUpItemClick(position,item,songs.get(position));
return true;
}
});
popup.show(); //showing popup menu
}
});
}
UPDATE: Masz problem .Przy wyświetla menu podręczne, to ślizga listę w dół, aby wyświetlić całą listę rozwijaną. Jak dostosować wyskakujące okienko do wyświetlenia w górę/w dół w zależności od dostępnego miejsca?
To samo dla mnie, używając android.widget.PopupMenu działa do tej pory. – Chris