This is Error while app crashes as recycler view do not etch data and image
Error shown in logcat
com.google.firebase.database.DatabaseException: Found two getters or fields with conflicting case sensitivity for property: age
at com.google.android.gms.internal.zzaln$zza.zzst(Unknown Source)
at com.google.android.gms.internal.zzaln$zza.<init>(Unknown Source)
at com.google.android.gms.internal.zzaln.zzj(Unknown Source)
at com.google.android.gms.internal.zzaln.zzd(Unknown Source)
at com.google.android.gms.internal.zzaln.zzb(Unknown Source)
at com.google.android.gms.internal.zzaln.zza(Unknown Source)
at com.google.firebase.database.DataSnapshot.getValue(Unknown Source)
at com.firebase.ui.database.FirebaseRecyclerAdapter.parseSnapshot(FirebaseRecyclerAdapter.java:147)
at com.firebase.ui.database.FirebaseRecyclerAdapter.getItem(FirebaseRecyclerAdapter.java:136)
at com.firebase.ui.database.FirebaseRecyclerAdapter.onBindViewHolder(FirebaseRecyclerAdapter.java:176)
at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:5768)
at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:5801)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5037)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4913)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2029)
at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1414)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1377)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:578)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3260)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3069)
at android.support.v7.widget.RecyclerView.consumePendingUpdateOperations(RecyclerView.java:1505)
at android.support.v7.widget.RecyclerView.access$400(RecyclerView.java:151)
at android.support.v7.widget.RecyclerView$1.run(RecyclerView.java:305)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:871)
at android.view.Choreographer.doCallbacks(Choreographer.java:683)
at android.view.Choreographer.doFrame(Choreographer.java:616)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:857)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6123)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)
Profile.java
package mywork.com.firetest;
/**
* Created by manighotra on 05-03-2017.
*/
public class Profile {
String Name;
String Age;
String Image;
public Profile(){
}
public Profile(String name, String age, String image) {
Name = name;
Age = age;
Image = image;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public String getAge() {
return Age;
}
public void setAge(String age) {
Age = age;
}
public String getImage() {
return Image;
}
public void setImage(String image) {
Image = image;
}
}
**RecieverActivity.java**
package mywork.com.firetest;
import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.firebase.ui.database.FirebaseRecyclerAdapter;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.squareup.picasso.Picasso;
public class RecieverActivity extends AppCompatActivity {
RecyclerView mrecyclerview;
DatabaseReference mdatabase;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_reciever);
mrecyclerview= (RecyclerView)findViewById(R.id.recy);
mrecyclerview.setHasFixedSize(true);
mrecyclerview.setLayoutManager(new LinearLayoutManager(this));
mdatabase = FirebaseDatabase.getInstance().getReference().child("Profile");
}
@Override
protected void onStart() {
super.onStart();
FirebaseRecyclerAdapter<Profile, ProfileViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Profile, ProfileViewHolder>(
Profile.class,
R.layout.profile_list,
ProfileViewHolder.class,
mdatabase
) {
@Override
protected void populateViewHolder(ProfileViewHolder viewHolder, Profile model, int position) {
viewHolder.setName(model.getName());
viewHolder.setAge(model.getAge());
viewHolder.setImage(getApplicationContext(), model.getImage());
}
};
mrecyclerview.setAdapter(firebaseRecyclerAdapter);
}
public static class ProfileViewHolder extends RecyclerView.ViewHolder {
View mview;
public ProfileViewHolder(View itemView) {
super(itemView);
mview = itemView;
}
public void setName(String name) {
TextView Name_val = (TextView) mview.findViewById(R.id.name_id);
Name_val.setText(name);
}
public void setAge(String age) {
TextView Age_val = (TextView) mview.findViewById(R.id.age_id);
Age_val.setText(age);
}
public void setImage(Context ctx, String image){
ImageView img_shw = (ImageView)mview.findViewById(R.id.img_id);
Picasso.with(ctx).load(image).into(img_shw);
}
}
}
activity_reciever.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="mywork.com.firetest.RecieverActivity">
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/recy">
</android.support.v7.widget.RecyclerView>
</RelativeLayout>
profile_list.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:layout_margin="20dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:layout_width="match_parent"
android:layout_height="160dp"
android:id="@+id/img_id"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/name_id"
android:layout_marginTop="30dp"
android:text="NAME HERE"
android:textSize="18sp"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/age_id"
android:layout_marginTop="30dp"
android:text="AGE HERE"
android:textSize="18sp"/>
</LinearLayout>
</android.support.v7.widget.CardView>