![](/img/trans.png)
[英]com.google.firebase.database.DatabaseException: Found two getters or fields with conflicting case sensitivity for property: name
[英]Found two getters or fields with conflicting case sensitivity for property: status
當我運行我的應用程序時,它崩潰並說它獲得了兩個狀態獲取者。 但在我的代碼中,我寫的是狀態而不是狀態。 我不知道是什么問題,請幫助我! 這是Contacts.java
public class Contacts
{
public String name, Status, image;
public Contacts()
{
}
public Contacts(String name, String Status, String image)
{
this.name = name;
this.Status = Status;
this.image = image;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getStatus() {
return Status;
}
public void setStatus(String status) {
this. Status = status;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
}
這是FindFreindsActivity.java
public class FindFreindsActivity extends AppCompatActivity {
private Toolbar mToolbar;
private RecyclerView FindfreindsRecyclerList;
private DatabaseReference UsersRef;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_find_freinds);
UsersRef = FirebaseDatabase.getInstance().getReference().child("Users");
FindfreindsRecyclerList = (RecyclerView) findViewById(R.id.find_freinds_recycler_list);
FindfreindsRecyclerList.setLayoutManager(new LinearLayoutManager(this));
mToolbar = (Toolbar) findViewById(R.id.find_freinds_toolbar);
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setTitle("Find Freinds");
}
@Override
protected void onStart()
{
FirebaseRecyclerOptions<Contacts> options =
new FirebaseRecyclerOptions.Builder<Contacts>()
.setQuery(UsersRef, Contacts.class)
.build();
super.onStart();
FirebaseRecyclerAdapter<Contacts,FindFreindsViewHolder >adapter =
new FirebaseRecyclerAdapter<Contacts, FindFreindsViewHolder>(options) {
@Override
protected void onBindViewHolder(@NonNull FindFreindsViewHolder holder, final int position, @NonNull Contacts model) {
holder.userName.setText(model.getName());
holder.userStatus.setText(model.getStatus());
Picasso.get().load(model.getImage()).placeholder(R.drawable.profile_image).into(holder.profileImage);
}
@NonNull
@Override
public FindFreindsViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i)
{
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.users_display_layout, viewGroup, false);
FindFreindsViewHolder viewHolder = new FindFreindsViewHolder(view);
return viewHolder;
}
};
FindfreindsRecyclerList.setAdapter(adapter);
adapter.startListening();
}
public static class FindFreindsViewHolder extends RecyclerView.ViewHolder
{
TextView userName, userStatus;
CircleImageView profileImage;
public FindFreindsViewHolder(@NonNull View itemView) {
super(itemView);
userName = itemView.findViewById(R.id.user_profile_name);
userStatus = itemView.findViewById(R.id.user_status);
profileImage = itemView.findViewById(R.id.users_profile_image);
}
}
}
在我的 firebase 中,數據庫狀態被寫為狀態,這個活動應該顯示所有使用這個應用程序的人,以及他們的個人資料圖片、用戶名和他們的狀態。
您的聯系人 object 提供了兩種方法來獲取名為“狀態”的屬性。
第一個是您已將Status
公共成員:
public String name, Status, image;
第二個是您的訪問器方法:
public String getStatus() {
return Status;
}
編寫 POJO 對象的標准方法是使您的字段私有並僅提供公共訪問器方法。
改為這樣做:
private String name, Status, image;
還可以考慮將status
設為小寫,這是 Java object 字段的標准。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.