无法解析片段中的onItemClickListener方法

问题描述 投票:-1回答:1

我正在尝试从我的适配器类实现一个onClickListener来回调我片段中的方法。我按照一个示例但仍然在fragment类中的adapter.setOnItemClickListener中出现错误,我无法看到问题所在。

这是我的片段类中的onCreateView方法,我收到错误:

    SupportMapFragment mapFragment = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);

    ((BusAdapter) adapter).setOnItemClickListener(new BusAdapter.OnItemClickListener(){
        @Override
        public void onItemClick(View view, int position){

        }
    });

    return view;

这是我的适配器类中处理onClickListener的部分:

    public BusAdapter() {
    }

    public interface OnItemClickListener{
        void onItemClick(View view, int pos);
    }

    public static class ViewHolder extends RecyclerView.ViewHolder {
        TextView timeTextView, destinationTextView, routeTextView, minsTextView;

        ViewHolder(View v) {
            super(v);
            this.timeTextView = v.findViewById(R.id.due);
            this.destinationTextView = v.findViewById(R.id.terminus);
            this.routeTextView = v.findViewById(R.id.route);
            this.minsTextView = v.findViewById(R.id.due_mins_text);
            v.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {

                    int position = ViewHolder.super.getAdapterPosition();
                    onItemClickListener.onItemClick(v, position);
                }
            });
        }
    }
java android firebase android-fragments onitemclicklistener
1个回答
0
投票

您应该自己在适配器中实现setOnItemClickListemer(BusAdapter.OnItemClickListener listener)方法,因为它具有特定的签名。

© www.soinside.com 2019 - 2024. All rights reserved.