2017-08-04 2 views
1

firebaseデータベースからデータを読み取ろうとしています。私のアプリはそれを実行するとクラッシュし、私はこのisChangingConfigurationsエラーを取得しているようです。このInfoクラスはフラグメントであり、リストビューを使用してデータベースを読みたくないことに注意してください。この問題をどうやって解決するのですか?com.google.firebase.database.DatabaseException:名前の競合するゲッターが見つかりました:isChangingConfigurations

Reading data from here

public class Info extends Fragment { 

    private DatabaseReference mDatabase; 
    private FirebaseAuth firebaseAuth; 
    String userID; 

    private TextView resNameChange, statusChange; 

    public Info() { 

    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     // Inflate the layout for this fragment 

     View rootView = inflater.inflate(R.layout.fragment_info, container, false); 

     mDatabase = FirebaseDatabase.getInstance().getReference(); 

     firebaseAuth = FirebaseAuth.getInstance(); 
     FirebaseUser user = firebaseAuth.getCurrentUser(); 
     userID = user.getUid(); 

     resNameChange = rootView.findViewById(R.id.resNameChange); 
     statusChange = rootView.findViewById(R.id.statusChange); 

     mDatabase.addValueEventListener(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 
       showData(dataSnapshot); 
      } 

      @Override 
      public void onCancelled(DatabaseError databaseError) { 

      } 
     }); 
     return rootView; 
    } 

    public void showData(DataSnapshot dataSnapshot) { 
     for (DataSnapshot ds : dataSnapshot.getChildren()) { 
      RestaurantInformation resInfo = new RestaurantInformation(); 
      resInfo.setResName(ds.child(userID).getValue(RestaurantInformation.class).getResName()); // error in this line ************ 
      resInfo.setStatus(ds.child(userID).getValue(RestaurantInformation.class).getStatus()); 

      resNameChange.setText(resInfo.getResName()); 
      statusChange.setText(resInfo.getStatus()); 
     } 
    } 
} 

RestaurantInformationクラス

public class RestaurantInformation extends AppCompatActivity { 

    private String resName; 
    private String status; 

    public RestaurantInformation() { 

    } 

     public RestaurantInformation(String resName, String status) { 
     this.resName = resName; 
     this.status = status; 
    } 

    public String getResName() { 
     return resName; 
    } 

    public void setResName(String resName) { 
     this.resName = resName; 
    } 

    public String getStatus() { 
     return status; 
    } 

    public void setStatus(String status) { 
     this.status = status; 
    } 
} 

答えて

1

エラーメッセージから:isChangingConfigurationsActivityのメソッドの名前です。 FirebaseはActivityオブジェクトをシリアライズできません。あなたはこの部分を削除する必要があります。

extends AppCompatActivity 

し、同様にインポートimport android.support.v7.app.AppCompatActivity;を削除することを忘れないでください。

+0

これはうまくいった。ありがとう! – ben

+0

まだエラーが発生しています。 –

関連する問題