現在、Recyclerview
があるアンドロイドプロジェクトに取り組んでいます。 Recyclerview異なるタイプのアイテムを保持します。アイテムは異なるファイル(Doc、Pdf、Images、Videos)です。私はGridlayoutmanager
を使用しています。私はrecyclerviewの行として2つのタイプのビューを膨らませたい、1つのビューはイメージとビデオ用で、別のビューは他のタイプのファイル(doc、pdfなど)用です。どのタイプのファイルがどの順序であるかを知っている。私はgetItemViewType
とonCreateViewHolder
を使って行を膨らませる必要があることを知っている。私が行を最初に膨らませる一般的な方法を使用し、すべてのファイルがランダムであるため、行の種類を膨張させて行を埋めても機能しません。私はファイルの種類に応じて行を膨らませたい。必要なタイプを膨らませるためにgetItemViewType
をonBindViewHolder
からトリガーする必要があるかもしれません。私はSOで質問を読んだ。この問題に直接関係する質問はありません。すべての質問が最初に行を膨らませ、行の詳細を埋めています。どのようなアイデアの詳細(私の場合のファイル)の種類に応じて膨らませる方法?実装アダプタでは、この方法をRecyclerViewの各行のデータの種類に応じて行のビューを拡大します
class ViewHolder{
public ViewHolder(View v, int type){
super(itemView);
this.type=type; //here we have type of view holder
}
}
:
おかげでビューを作成してバインドするようになったバインドビューホルダーインチ'getItemViewtype'では、行がVideoファイルかNormalファイルかを" position "パラメータを使って確認することはできません。ファイルは混在しています。その位置を使ってファイルの種類を言うことはできません。それが私の問題です。 – Naroju
だからあなたはそれが何であるかを知っていますか?あなたはアダプターのどのデータを持っていますか? –
ファイル名(Strings)のArrayListをAdapterクラスのコンストラクタに入力します。だからArrayListランダムにファイル名が含まれて、私はどのタイプのファイルparticulerの位置を構成するか分からない。ファイル拡張子に応じて私が膨らませる方法はありますか? – Naroju