gpt4 book ai didi

android - PopupMenu 单击导致 RecyclerView 滚动

转载 作者:可可西里 更新时间:2023-11-01 19:09:39 25 4
gpt4 key购买 nike

我在 RecyclerviewCardView 中有一个溢出按钮。每当我单击按钮时,我都会显示一个弹出菜单,而且 RecyclerView 会向下滚动一个项目。谁能帮我阻止这种不需要的滚动?

基本上,我正在尝试复制与 Playstore 中相同的溢出按钮行为。

布局:

<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>

适配器:

@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
}
});

}

更新:明白了。当弹出菜单显示时,它向下滑动列表以显示整个下拉菜单。如何根据可用空间调整弹出窗口以向上/向下显示?

最佳答案

尝试使用 android.widget.PopupMenu 而不是 android.support.v7.widget.PopupMenu 和瞧,它有效。那么它是支持库中的错误吗?伟大的开发人员可以证实这一点吗?

关于android - PopupMenu 单击导致 RecyclerView 滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29473977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com