2017-05-20 8 views
0

私のアプリはカスタムFirebaseListAdapterを使用しています。私は、デフォルトFirebaseListAdapterを使用している初めてAreaGridAdap.java、カスタムFirebaseListAdapterの "タイプのオブジェクトを変換できません"

public class AreaGridAdap { 

    String gridArea; 

    public AreaGridAdap(){ 

    } 

    public AreaGridAdap(String gridArea) { 
     this.gridArea = gridArea; 
    } 


    public String getGridArea() { 
     return gridArea; 
    } 
} 

これは私のfirebaseListAdapterで、

final FirebaseListAdapter<AreaGridAdap> firebaseListAdapter = new FirebaseListAdapter<AreaGridAdap> (AreaGridActivity.this, 
       AreaGridAdap.class, 
       R.layout.area_grid, 
       databaseReference) { 
      @Override 
      protected void populateView(View v, AreaGridAdap model, int position) { 

       areaTextView = (TextView) v.findViewById(R.id.areaGridText); 

       areaTextView.setText(model.getGridArea()); 
      } 
     }; 

を作成して、それがうまく働きました。

com.google.firebase.database.DatabaseException:trickandroid入力するjava.lang.String型のオブジェクトを変換できません。私は、カスタムFirebaseListAdapterを使用するときに、私のエラーメッセージがとしてではなく、私のアプリがクラッシュし、私はこれを得ました.fulllogin.AreaGridAdap

このエラーを解決するのに役立ちます。

答えて

2

このエラーメッセージは、databaseReferenceの下のデータ構造がユーザーのコードと一致しないことを示しています。あなたは、このようなデータ構造を持っているように見えます:

-K....1: "First value" 
-K....2: "Second value" 
-K....3: "Third value" 

あなたのコードは、この構造を処理するために作られている間:

私の一日保存
-K....1: { 
    gridArea: "First value" 
} 
-K....2: { 
    gridArea: "Second value" 
} 
-K....3: { 
    gridArea: "Third value" 
} 
+0

...:)...私は、別の問題を抱えていますあなたは私を助けてくれますか? – Simon

+0

FirebaseListAdapterを使用してデータベースから値を取得し、それをgridViewに表示します。 GridViewに対して 'OnItemClickListener'を設定する必要があり、アイテムがクリックされたときに、アクティビティに表示されているグリッドアイテムで新しいアクティビティを開く必要があります。 IntentsとputExtrasで私を助けてください。 – Simon

+0

この問題に関連しない別の問題については、Frankや他のユーザーが回答できるように別の質問を投稿する必要があります。 –

関連する問題