私は2つのRecyclerView.Adapter
を持っています。それらは内部クラスとまったく同じRecyclerView.ViewHolder
を使用しています。RecyclerView.ViewHolderは常に内部クラスでなければなりませんか?
私はコードの重複を取り除きたいと思っていました。これはViewHolder
を無料で別のクラスにしたので、新しいクラスは今やRecyclerView.Adapter
で使用できるようになりました。
しかし、私はアダプタオブジェクトにアクセスするのが難しいなど多くの問題に直面していました。 getAdapterPosition()
は常に-1
を返します。
私は心を変えて、これらのアダプタで拡張されたスーパーRecyclerView.Adapter
クラスを作成し、スーパークラスにViewHolderを配置して、それらのアダプタがサブクラスから使用できるようにしました。
しかし、ViewHolder
が内部クラスである必要があるかどうかを知りたいと思います。これは私に迷惑をかける。 ViewHolder
はちょうど私が私が気分を良くするあなたのより良いアプローチをお待ちしております任意のRecyclerView
に表示されることができる特別なviewType
あるとして、彼らは完全に異なっている、アダプタクラスを結合するために私をアドバイスしないでください。
よろしくお願いいたします。
Javaには実際の内部クラスもなく、同じ.javaファイルに同じパッケージクラスを書くための文法的な砂糖だけです。 ViewHoldersに非内部クラスとして問題があった場合は、問題のあるコードを投稿してください。 – laalto