アダプタをRecyclerView
に設定しましたが、私のリストサイズはアダプタで送信する動的(2)です。
私のコードをデバッグすると、onCreateViewHolder
とonBindViewHolder
は決して呼び出されませんでした。RecyclerViewアダプタが設定されていません
これは私がアダプターを設定したコードです。
mRecycler_Downloaded_List.setLayoutManager(new LinearLayoutManager(context, LinearLayoutManager.VERTICAL, true));
mRecycler_Downloaded_List.setHasFixedSize(true);
PurchaseListAdapterDownloded = new Recycler_purchase_list_adapter_downloaded(PurchaseList_Dummy.this, mList_downlaoded, false);
mRecycler_Downloaded_List.setAdapter(PurchaseListAdapterDownloded);
これは値を取得して設定するアダプタコードです。
package com.structure.adapters;
import android.content.Context;
import android.graphics.Typeface;
import android.support.v4.widget.ContentLoadingProgressBar;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.structure.R;
import com.structure.beans.Response_GetVideoDetail;
import java.util.ArrayList;
/**
* Created by root on 26/4/17.
*/
public class Recycler_purchase_list_adapter_downloaded extends RecyclerView.Adapter<Recycler_purchase_list_adapter_downloaded.ViewHolder> {
Context context;
Typeface face;
ArrayList<Response_GetVideoDetail.ResponseBean.VideodetailsBean> mList;
View view;
boolean mIsDownloadedList;
private LayoutInflater inflater;
public Recycler_purchase_list_adapter_downloaded(Context context, ArrayList<Response_GetVideoDetail.ResponseBean.VideodetailsBean> mList, boolean mIsDownloadedList) {
this.context = context;
this.mList = mList;
this. inflater = LayoutInflater.from(context);
this.mIsDownloadedList = mIsDownloadedList;
this.notifyDataSetChanged();
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
// View view = LayoutInflater.from(context).inflate(R.layout.item_purchase_list, parent, false);
View view = inflater.inflate(R.layout.item_purchase_list, parent, false);
System.out.println("OnCreateView"+"onCreateViewHolder>>>>>>>>>>>>");
ViewHolder holder = new ViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(ViewHolder holder, final int position) {
holder.mtvName.setText(mList.get(position).getName());
holder.mDesc.setText(mList.get(position).getDescription());
holder.itemTime_tv.setText(mList.get(position).getDuration());
Glide.with(context).load(/*APIs.IMGAE_BASE_URL +*/ mList.get(position).getPic())
.diskCacheStrategy(DiskCacheStrategy.ALL)
.dontTransform().dontAnimate()
.error(R.drawable.demo_song).into(holder.mImg);
System.out.println("OnCreateView"+"onBindViewHolder>>>>>>>>>>>>");
}
@Override
public int getItemCount() {
return mList.size();
}
class ViewHolder extends RecyclerView.ViewHolder {
private TextView mtvName, itemTime_tv,mDesc;
private ContentLoadingProgressBar mProgressBar;
private RelativeLayout mLayout;
// private ItemPurchaseListBinding binding;
private ImageView mImg;
public ViewHolder(View itemView) {
super(itemView);
mtvName = (TextView) itemView.findViewById(R.id.name_item);
mDesc = (TextView) itemView.findViewById(R.id.desc);
itemTime_tv = (TextView) itemView.findViewById(R.id.itemtime);
mProgressBar = (ContentLoadingProgressBar) itemView.findViewById(R.id.seekBar);
mImg = (ImageView) itemView.findViewById(R.id.img_songName);
mLayout = (RelativeLayout) itemView.findViewById(R.id.rel_purchaselist);
// itemTime_tv.setTypeface(face);
// mtvName.setTypeface(face);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// getAdapterPosition();
// registration.getImage(getAdapterPosition());
}
});
}
}
}
この問題を解決するのを手伝ってください。私はすべてを探しました。 誰かが解決策を持っている場合は、共有してください。リストサイズが1のアダプタを設定すると、コードをデバッグしました。 ありがとうございます。
完全なアクティビティを表示する –
は、mList_downlaodedの初期化コードを共有してください。 –
ArrayList mList_downlaoded = new ArrayList <>(); –
umesh