问题
I'm trying to show up recyclerview and retrieve data from firebase but I got problem after adding images which I saved on firebase storage. It closed after scrolling. I have another recyclerview which is using the same database but it doesnt have issue. can you give me solution for this?
AllLaundries.java
package com.example.rizkafs.laundrize;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.firebase.ui.database.FirebaseRecyclerAdapter;
import com.firebase.ui.storage.images.FirebaseImageLoader;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.Query;
import com.google.firebase.storage.FirebaseStorage;
import com.google.firebase.storage.StorageReference;
/**
* Created by Abi FS on 29.5.17.
*/
public class AllLaundries extends AppCompatActivity {
private Context context;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_all_laundries);
DatabaseReference myRef = FirebaseDatabase.getInstance().getReference().child("places");
Query queryRef = myRef.orderByChild("jenis").equalTo("Laundry Kiloan");
RecyclerView rvView = (RecyclerView) findViewById(R.id.rv_main);
rvView.setHasFixedSize(true);
rvView.setLayoutManager(new LinearLayoutManager(this));
FirebaseRecyclerAdapter<DataLaundry, DataViewHolder> recyclerAdapter = new FirebaseRecyclerAdapter<DataLaundry, DataViewHolder>(
DataLaundry.class,
R.layout.laundry_card,
DataViewHolder.class,
queryRef
) {
@Override
protected void populateViewHolder(DataViewHolder viewHolder, DataLaundry model, int position) {
viewHolder.setNamaTempat(model.getNama());
viewHolder.setAlamat(model.getAlamat());
viewHolder.setJenis(model.getJenis());
viewHolder.setImage(model.getImage_placeholder(), AllLaundries.this);
}
};
rvView.setAdapter(recyclerAdapter);
}
public static class DataViewHolder extends RecyclerView.ViewHolder {
View mView;
TextView txt_namaTempat;
TextView txt_alamat;
TextView txt_jenis;
ImageView imageView;
public DataViewHolder(View itemView) {
super(itemView);
mView = itemView;
txt_namaTempat = (TextView) itemView.findViewById(R.id.txt_judul);
txt_alamat = (TextView) itemView.findViewById(R.id.alamat);
txt_jenis = (TextView) itemView.findViewById(R.id.jenis);
imageView = (ImageView) itemView.findViewById(R.id.imageView);
}
public void setNamaTempat(String namaTempat) {
txt_namaTempat.setText(namaTempat);
}
public void setAlamat(String alamat){
txt_alamat.setText(alamat);
}
public void setJenis(String jenis) {
txt_jenis.setText(jenis);
}
public void setImage(String image, Context context) {
Log.d("DEBUG_", "Load image ");
FirebaseStorage storage = FirebaseStorage.getInstance();
StorageReference storageRef = storage.getReferenceFromUrl("gs://laundrize-68cee.appspot.com/");
StorageReference pathReference = storageRef.child(image);
Glide.with(context)
.using(new FirebaseImageLoader())
.load(pathReference)
.into(imageView);
}
}
}
Android Monitor
06-19 00:30:35.736 14636-15761/com.example.rizkafs.laundrize E/AndroidRuntime: FATAL EXCEPTION: FirebaseStorage-Download-1
Process: com.example.rizkafs.laundrize, PID: 14636
java.lang.NoSuchMethodError: No static method zzax(Z)V in class Lcom/google/android/gms/common/internal/zzac; or its super classes (declaration of 'com.google.android.gms.common.internal.zzac' appears in /data/app/com.example.rizkafs.laundrize-1/base.apk)
at com.google.firebase.storage.StreamDownloadTask.onCanceled(Unknown Source)
at com.google.firebase.storage.StorageTask.zzf(Unknown Source)
at com.google.firebase.storage.StreamDownloadTask.run(Unknown Source)
at com.google.firebase.storage.StorageTask$8.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
来源:https://stackoverflow.com/questions/44617345/issue-on-my-recyclerview