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);
をして、私はそれがgetCount()
を検出しないadapter.getCount()
呼び出そう。
getCount()
「アダプタ」の後に入力を開始すると、オートコンプリートオプションが表示されません。 getCount()
は、「方法を解決できません」というエラーを表示し、クラスのgetCount()
は使用されていないことを示します。これは、それらの上に@overrideを持たないすべてのメソッドに適用されます。
あたかも方法が存在しないかのようです。私は彼らに電話することはできませんが、彼らはそこにいます。私は完全に困惑している!
ポストあなたは、私は本当に私はそれを編集したあなたが – naffarn
機能のいずれかを使用しようとしたときのいくつかのサンプルを出力しますそれをよりよく明瞭にしようとする。メソッドが存在しないかのようです。私はそれを呼び出すことはできません。上記のクラスのインスタンスをインスタンス化し、その上でgetCount()を呼び出そうとすると、メソッドが存在しないかのようになります。 –
「検出されない」の意味を理解していない – javapalava