I have made it like this but nothing appears in the Recyclerview layout
i get a logcat message
No setter/field for Pemeran found on class com.example.dbMovieAdapter No setter/field for Episode found on class com.example.dbMovieAdapter
if I add it to the model use variable string, I get the logcat message again
message : Arrays is not supported, please use Listsinstead
Firebase Realtime Database Structure
"app" {
"SerialDrakor" {
"1" {
"Episode" {
"1" {
"LinkMovie" : "linkfirebasestorage/url.mp4"
"List" : "1"
}
"Pemeran" {
"1" {
"NamaPemain" : "Tukiyem Marni"
"FotoPemain" : "linkfirebasestorage/file.jpg"
}
DrakorAcivity
private RecyclerView mEpisodeRV,mPemeranRV;
private FirebaseRecyclerAdapter<dbMovieAdapter,DrakorActivity.ListEpisode> mListEpisodeAdapter;
private FirebaseRecyclerAdapter<dbMovieAdapter, DrakorActivity.ListPemeran> mListPemeranAdapter;
String judul,sinopsis,genre,tglMulai,akhirepi,updateepi,thumbnail;
FirebaseDatabase firebaseDatabase;
DatabaseReference databaseReference;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_drakor);
FirebaseDatabase database = FirebaseDatabase.getInstance();
databaseReference = FirebaseDatabase.getInstance().getReference().child("SerialDrakor").child("Episode");
mEpisodeRV = (RecyclerView) findViewById(R.id.cRecylerDrakorEpisode);
mEpisodeRV.setLayoutManager(new LinearLayoutManager(this));
//This is Code For Episode
FirebaseRecyclerOptions<dbMovieAdapter> options = new FirebaseRecyclerOptions.Builder<dbMovieAdapter>().setQuery(databaseReference,dbMovieAdapter.class).build();
mListEpisodeAdapter = new FirebaseRecyclerAdapter<dbMovieAdapter, DrakorActivity.ListEpisode>(options) {
@Override
protected void onBindViewHolder(DrakorActivity.ListEpisode holder, int position, final dbMovieAdapter model) {
holder.setList(model.getList());
holder.mView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final String url = model.getLinkMovie();
Intent intent = new Intent(getApplicationContext(), PlayerActivity.class);
intent.putExtra("id", url);
startActivity(intent);
}
});
}
@Override
public DrakorActivity.ListEpisode onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.item_drakor_episode, parent, false);
ListEpisode holder = new ListEpisode(view);
return holder;
}
};
//This is For Pemeran
DatabaseReference aDrakor = database.getInstance().getReference("SerialDrakor").child("Pemeran");
Query PemeranQuery = aDrakor.orderByKey();
mPemeranRV = (RecyclerView) findViewById(R.id.cRecylerDrakorPemeran);
mPemeranRV.hasFixedSize();
mPemeranRV.setLayoutManager(new LinearLayoutManager(this));
FirebaseRecyclerOptions aPemeranOption = new FirebaseRecyclerOptions.Builder<dbMovieAdapter>().setQuery(PemeranQuery, dbMovieAdapter.class).build();
mListPemeranAdapter = new FirebaseRecyclerAdapter<dbMovieAdapter, DrakorActivity.ListPemeran>(aPemeranOption) {
@Override
protected void onBindViewHolder(ListPemeran holder, int position, final dbMovieAdapter model) {
// holder.setTitle(model.getJudul());
holder.setNamaPemain(model.getNamaPemain());
holder.setFotoPemain(getBaseContext(), model.getFotoPemain());
}
@Override
public DrakorActivity.ListPemeran onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.item_drakor, parent, false);
return new DrakorActivity.ListPemeran(view);
}
};
mEpisodeRV.setAdapter(mListEpisodeAdapter);
mPemeranRV.setAdapter(mListPemeranAdapter);
}
@Override
public void onStart() {
super.onStart();
mListEpisodeAdapter.startListening();
mListPemeranAdapter.startListening();
}
@Override
public void onStop() {
super.onStop();
mListEpisodeAdapter.stopListening();
mListPemeranAdapter.stopListening();
}
//ViewEpisode
public static class ListEpisode extends RecyclerView.ViewHolder{
View mView;
public ListEpisode(View itemView){
super(itemView);
mView = itemView;
}
public void setList (String list){
TextView post_title = (TextView)mView.findViewById(R.id.TxtlistEpisode);
post_title.setText(list);
}
}
//ViewPemeran
public static class ListPemeran extends RecyclerView.ViewHolder{
View mView;
public ListPemeran(View itemView){
super(itemView);
mView = itemView;
}
public void setNamaPemain(String namapemain){
TextView post_title = (TextView)mView.findViewById(R.id.drakorpemainNama);
post_title.setText(namapemain);
}
public void setFotoPemain(Context ctx, String fotopemain){
ImageView post_image = (ImageView) mView.findViewById(R.id.drakorpemainGambar);
Picasso.get().load(fotopemain).into(post_image);
}
}
dbMovieAdapter
public class dbMovieAdapter {
private String Sinopsis;
private String Thumbnail;
private String TglNewEpisode;
private String TglTayang;
private String AkhirEpisode;
private String Judul;
private String Media;
private String Tujuan;
private String Video;
private String List;
private String Genre;
private String Subtitle;
private String FotoPemain;
private String NamaPemain;
private String LinkMovie;
public dbMovieAdapter(String fotopemain,String namapemain,String linkmovie,String subtitle,String sinopsis,String thumbnail, String tglnewepisode ,String tgltayang,String akhirepisode, String judul, String media, String tujuan,String video, String list) {
this.Sinopsis = sinopsis;
this.Thumbnail = thumbnail;
this.List = list;
this.TglNewEpisode = tglnewepisode;
this.TglTayang = tgltayang;
this.AkhirEpisode = akhirepisode;
this.Judul = judul;
this.Media = media;
this.Tujuan = tujuan;
this.Video = video;
this.Subtitle = subtitle;
//baru
this.NamaPemain = namapemain;
this.FotoPemain = fotopemain;
this.LinkMovie = linkmovie;
}
public dbMovieAdapter(){
}
public String getNamaPemain() {
return NamaPemain;
}
public void setNamaPemain(String namapemain) {
this.NamaPemain = namapemain;
}
public String getFotoPemain() {
return FotoPemain;
}
public void setFotoPemain(String fotopemain) {
this.FotoPemain = fotopemain;
}
public String getLinkMovie() {
return LinkMovie;
}
public void setLinkMovie(String linkmovie) {
this.LinkMovie = linkmovie;
}
public String getSinopsis() {
return Sinopsis;
}
public void setSinopsis(String sinopsis) {
this.Sinopsis = sinopsis;
}
public String getTglNewEpisode() {
return TglNewEpisode;
}
public void setTglNewEpisode(String tglnewepisode) {
this.TglNewEpisode = tglnewepisode;
}
public String getTglTayang() {
return TglTayang;
}
public void setTglTayang(String tgltayang) {
this.TglTayang = tgltayang;
}
public String getAkhirEpisode() { return AkhirEpisode; }
public void setAkhirEpisode(String akhirepisode) { this.AkhirEpisode = akhirepisode; }
public String getJudul() {return Judul; }
public void setJudul(String judul) {this.Judul = judul; }
public void setThumbnail(String thumbnail) {this.Thumbnail = thumbnail; }
public String getThumbnail() {return Thumbnail; }
public String getMedia() {return Media; }
public void setMedia(String media) { this.Media = media;}
public String getTujuan() {return Tujuan;}
public void setTujuan(String tujuan) {this.Tujuan = tujuan;}
public String getVideo() {return Video; }
public void setVideo(String video) {this.Video = video; }
public String getList() { return List; }
public void setList(String list) { this.List = list; }
public String getGenre() {return Genre; }
public void setGenre(String genre) {this.Genre = genre; }
public String getSubtitle() { return Subtitle; }
public void setSubtitle(String subtitle) {this.Subtitle = subtitle;}
}