简体   繁体   English

Firebase数据库错误:找到名称冲突的getter:isAccessibilityFocusable

[英]Firebase database error : Found conflicting getters for name: isAccessibilityFocusable

I am getting this error: 我收到此错误:

Caused by: com.google.firebase.database.DatabaseException: Found conflicting getters for name: isAccessibilityFocusable 原因:com.google.firebase.database.DatabaseException:找到名称冲突的getter:isAccessibilityFocusable

while trying to update my User. 在尝试更新我的用户时。

The User class is like this User类是这样的

public class User {
@PrimaryKey
String userName;
String groupName;
int totalMoney;
boolean turn;
boolean hapyo;
boolean blind;
@Exclude
TextView textView;
@Exclude
Button bHapdiye,bChale,bShow,bHeram;

public Button getbHapdiye() {
    return bHapdiye;
}

public void setbHapdiye(Button bHapdiye) {
    this.bHapdiye = bHapdiye;
}

public Button getbChale() {
    return bChale;
}

public void setbChale(Button bChale) {
    this.bChale = bChale;
}

public Button getbShow() {
    return bShow;
}

public void setbShow(Button bShow) {
    this.bShow = bShow;
}

public Button getbHeram() {
    return bHeram;
}

public void setbHeram(Button bHeram) {
    this.bHeram = bHeram;
}

public TextView getTextView() {
    return textView;
}

public void setTextView(TextView textView) {
    this.textView = textView;
}

public boolean isBlind() {
    return blind;
}

public void setBlind(boolean blind) {
    this.blind = blind;
}


public boolean isHapyo() {
    return hapyo;
}

public void setHapyo(boolean hapyo) {
    this.hapyo = hapyo;
}

public boolean isTurn() {
    return turn;
}

public void setTurn(boolean turn) {
    this.turn = turn;

}

public String getUserName() {
    return userName;
}

public void setUserName(String userName) {
    this.userName = userName;
}

public String getGroupName() {
    return groupName;
}

public void setGroupName(String groupName) {
    this.groupName = groupName;
}

public int getTotalMoney() {
    return totalMoney;
}

public void setTotalMoney(int totalMoney) {
    this.totalMoney = totalMoney;
}
}

I am trying to update the User like this 我想像这样更新用户

final User user1 = userList.get(0);
    user1.setTextView(tvUser1);
    user1.setbChale(bChaleP1);
    user1.setbHapdiye(bHapdiyeP1);
    user1.setbHeram(bHeramP1);
    user1.setbShow(bShowP1);
    user1.setTurn(true);
    setUsersTurn(user1.isTurn(),bHapdiyeP1,bChaleP1,bShowP1,bHeramP1);
    setTurnInFirebase(user1);

The setTurnInFirebase method is like this setTurnInFirebase方法是这样的

public void setTurnInFirebase(User user){
    myRef.child("users").setValue(user);
}

So when I run the project, I get the above mentioned error. 所以当我运行项目时,我得到了上面提到的错误。 What could be the reason for this. 这可能是什么原因。 Thankyou 谢谢

Your user contains a TextView , which is a class that Firebase won't be able to serialize/deserialize. 您的用户包含TextView ,这是Firebase无法序列化/反序列化的类。

To allow writing a class to the Firebase Database, make sure that it only contains properties of simple types or objects that you created: so called POJOs - Plain Old Java Objects. 要允许将类编写到Firebase数据库,请确保它只包含您创建的简单类型或对象的属性:所谓的POJO - Plain Old Java Objects。

Alternatively you can exclude the non-supported properties (such as the TextView ) by annotating them: 或者,您可以通过注释来排除不受支持的属性(例如TextView ):

@Exclude
public TextView getTextView() {
    return textView;
}

@Exclude
public void setTextView(TextView textView) {
    this.textView = textView;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM