【发布时间】:2018-01-31 08:00:34
【问题描述】:
我有用于图像的 Sqlite 数据库,但它只存储 URL,我希望 glide 处理该 URL 以显示图像,
案例:我需要使用 glide 显示图像 url 从 sqlite 到 recycleview。
我之所以使用此代码,是因为它让我想到的不仅仅是将数据从字节解析为图像或其他任何内容。
请帮忙,现在我收到错误“Java.lang.nullPointerException”
public class ListAdapter extends RecyclerView.Adapter<ListAdapter.ListViewHolder> {
private Context mContext;
private List<Produk> listList = new ArrayList<>();
public ListAdapter(List<Produk> listList){
this.listList = listList;
this.mContext = mContext;
}
@Override
public ListAdapter.ListViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_list ,parent, false);
ListViewHolder ListViewHolder = new ListViewHolder(view);
return ListViewHolder;
}
@Override
public void onBindViewHolder(ListAdapter.ListViewHolder holder, int position) {
holder.txt_rKode.setText((listList.get(position).getKd_produk()));
holder.txt_rNama.setText(listList.get(position).getNama_produk());
holder.txt_rMerk.setText(listList.get(position).getMerk_produk());
holder.txt_rJenis.setText(listList.get(position).getJenis_produk());
holder.txt_rVariasi.setText(listList.get(position).getVariasi_produk());
holder.txt_rFoto2.setText(listList.get(position).getFoto_produk());
String currentUrl = listList.get(position).getFoto_produk();
Glide.with(mContext)
.load(currentUrl)
.into(holder.iv_rFoto);
}
@Override
public int getItemCount() {
return listList.size();
}
public Produk getItem(int Position) {
return listList.get(Position);
}
错误日志
这是错误日志。
01-31 14:49:58.795 12577-12577/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: ptacs.ekatalog.com.e_katalogproduk, PID: 12577
java.lang.NullPointerException: You cannot start a load on a not yet attached View or a Fragment where getActivity() returns null (which usually occurs when getActivity() is called before the Fragment is attached or after the Fragment is destroyed).
at com.bumptech.glide.util.Preconditions.checkNotNull(Preconditions.java:31)
at com.bumptech.glide.Glide.getRetriever(Glide.java:665)
at com.bumptech.glide.Glide.with(Glide.java:697)
at ptacs.ekatalog.com.e_katalogproduk.adapter.ListAdapter.onBindViewHolder(ListAdapter.java:56)
at ptacs.ekatalog.com.e_katalogproduk.adapter.ListAdapter.onBindViewHolder(ListAdapter.java:23)
at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6482)
at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6515)
at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5458)
at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5724)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5563)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5559)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2229)
at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1556)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1516)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:608)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3693)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3410)
at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3962)
at android.view.View.layout(View.java:15604)
at android.view.ViewGroup.layout(ViewGroup.java:4968)
at android.support.v4.widget.SwipeRefreshLayout.onLayout(SwipeRefreshLayout.java:610)
at android.view.View.layout(View.java:15604)
at android.view.ViewGroup.layout(ViewGroup.java:4968)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
at android.view.View.layout(View.java:15604)
at android.view.ViewGroup.layout(ViewGroup.java:4968)
at android.support.design.widget.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:132)
at android.support.design.widget.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:42)
at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1361)
at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:869)
at android.view.View.layout(View.java:15604)
at android.view.ViewGroup.layout(ViewGroup.java:4968)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573)
at android.widget.FrameLayout.onLayout(FrameLayout.java:508)
at android.view.View.layout(View.java:15604)
at android.view.ViewGroup.layout(ViewGroup.java:4968)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
at android.view.View.layout(View.java:15604)
at android.view.ViewGroup.layout(ViewGroup.java:4968)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573)
at android.widget.FrameLayout.onLayout(FrameLayout.java:508)
at android.view.View.layout(View.java:15604)
at android.view.ViewGroup.layout(ViewGroup.java:4968)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
at android.view.View.layout(View.java:15604)
at android.view.View
【问题讨论】:
-
请同时发布错误日志
-
请发布您的堆栈跟踪
-
完成了,你能解释一下这个错误吗?
-
您的上下文为空。您不会将上下文传递给您的适配器
-
请在此处添加您的图片网址和活动或片段。
标签: java android sqlite android-recyclerview android-glide