为了账号安全,请及时绑定邮箱和手机立即绑定

为 RecyclerView 项目创建选项菜单

为 RecyclerView 项目创建选项菜单

UYOU 2021-09-03 15:50:37
我一直在尝试按照以下教程将选项菜单集成到我的列表视图中:[ https://www.simplifiedcoding.net/create-options-menu-recyclerview-item-tutorial/]我已经能够让菜单图标出现在列表视图中的项目旁边,但我无法点击它来访问弹出菜单。我试图在我的public void onBindViewHolder(MyViewHolder holder, int position)方法中实现这一点。我无法弄清楚为什么我无法执行 onClick。我已经发布了我的适配器代码public class LeagueAdapter extends RecyclerView.Adapter<LeagueAdapter.MyViewHolder> {    private Context context;    private List<League> leaguesList;    public TextView buttonViewOption;    public void notifyDatasetChanged(List<League> newleagueslist) {        leaguesList.clear();        leaguesList.addAll(newleagueslist);        super.notifyDataSetChanged();    }    public class MyViewHolder extends RecyclerView.ViewHolder {        public TextView name;        public TextView basescore;        public TextView basescorepercentage;        private TextView leagueAverage;        public TextView id;        public TextView timestamp;        public TextView buttonViewOption;        public MyViewHolder(View view) {            super(view);            id = view.findViewById( R.id.tvLeagueId);            name = view.findViewById(R.id.tvSeriesName );            basescore = view.findViewById(R.id.tvBaseScore );            basescorepercentage = view.findViewById(R.id.tvBaseScorePercentage );            leagueAverage = view.findViewById(R.id.tvLeagueAverage);            timestamp = view.findViewById(R.id.timestamp);            buttonViewOption = (TextView) itemView.findViewById(R.id.textViewOptions);        }    }    public LeagueAdapter(Context context, List<League> leaguesList) {        this.context = context;        this.leaguesList = leaguesList;    }    @Override    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {        View itemView = LayoutInflater.from(parent.getContext())                .inflate(R.layout.listview_league, parent, false);        return new MyViewHolder(itemView);    } 
查看完整描述

2 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

您在 上初始化了错误的上下文public LeagueAdapter(Context context, List<League> leaguesList),从 更改 this.mCtx=mCtx 为
this.mCtx = context 将解决问题。

查看完整回答
反对 回复 2021-09-03
  • 2 回答
  • 0 关注
  • 169 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信