仅检测到类中被覆盖的方法

时间:2016-08-12 00:55:56

标签: java android

我已经创建了一个自定义适配器来处理RecyclerView。

出于某种原因,在初始化之后我可以从中调用的唯一方法是被覆盖的方法。谁能解释为什么会这样?我不知道!

public class CustomAdapter extends RecyclerView.Adapter<CustomAdapter.ViewHolder> {
    private List<Item> items;

    public static class ViewHolder extends RecyclerView.ViewHolder {

        private ImageView icon;
        private TextView text;

        public ViewHolder(View item) {
            super(item);

            text = (TextView) itemView.findViewById(R.id.t);
            icon = (ImageView) itemView.findViewById(R.id.i);
        }

        ....
    }

    public CustomAdapter(List<Item> items) {
        this.items = items;
    }

    @Override
    public CustomAdapter.ViewHolder onCreateViewHolder(ViewGroup container, int type) {
        View v = LayoutInflater.from(container.getContext())
                .inflate(R.layout.fragment, container, false);

        return new ViewHolder(v);
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        //method content
    }

    //  EVERY METHOD I HAVE WRITTEN FROM HERE ONWARDS GOES UNDETECTED
    public int getCount() {
        return items.size();
    }
}

即。当我实例化适配器的实例时:

private RecyclerView.Adapter adapter = new CustomAdapter(items);

然后我尝试拨打adapter.getCount()它没有检测到getCount()

当我开始在&#39; adapter&#39;之后输入时,

getCount()没有出现在自动填充选项中。 getCount()显示错误,该错误只是说“无法解决方法”。 getCount()类中的CustomAdapter表示它从未被使用过。这适用于所有没有@override的方法。

就好像方法不存在一样。我不能打电话给他们,但他们在那里。我完全不知所措!

1 个答案:

答案 0 :(得分:2)

变化

    private RecyclerView.Adapter adapter = new CustomAdapter(items);

    private CustomAdapter adapter = new CustomAdapter(items);