2016-07-16 7 views
0

Firebaseを使用してリストビューにオブジェクト全体を追加したいとします。 イメージをイラストレーションしたことがあります。画像がテキストよりも簡単な場合があるためです。Firebaseを使用してカスタムlistViewにオブジェクトを追加する

Firebase database tree

Firebaseチュートリアルは、アイテムとしてそれぞれの子を返し、Firebase UIとそれを表示する方法を示し、私はほとんど同じことをやってみたいけど違いは、私は全体のオブジェクトが子になりたいということで、そのオブジェクトの中の子は、各listitemの追加情報になります。

私の画像で私はオブジェクトがありますキャンプと "山"、 "自然"、 "場所"。

protected void onStart(){ 
    super.onStart(); 
    Firebase items = rootRef.child("events"); 
    final FirebaseListAdapter<String> fireAdapter = new FirebaseListAdapter<String>(
      this,String.class,R.layout.list_item,items) { 
     @Override 
     protected void populateView(View view, String s, int i) { 
      TextView testText = (TextView)view.findViewById(R.id.textView2); 
      testText.setText(s); 
      trucks.add(s); 
     } 
    }; 
    listView.setAdapter(fireAdapter); 
} 

UPDATE

:私は別の値がtextViews.toに設定されたいカスタムリストビューで は

これは私がFirebase UIで子項目を取得する方法であること

の値をカスタムリストビューレイアウトのテキストビューに設定するコードは次のとおりです。

private void getUpdatesEvents(DataSnapshot dataSnapshotRoot){ 
    events.clear(); 
    for(DataSnapshot dataSnapshot : dataSnapshotRoot.getChildren()){ 
     Events e = new Events(); 
     e.setName(dataSnapshot.getValue(Events.class).getName()); 
     events.add(e.getName()); 
    } 
    if(events.size()>0){ 
     ArrayAdapter adapter = new ArrayAdapter(this,R.layout.list_item,R.id.textView2,events); 
     listView.setAdapter(adapter); 
    } 
    else{ 
     Toast.makeText(this,"There is no data",Toast.LENGTH_LONG).show(); 
    } 
} 
+0

@Frank van Puffelenは理解しにくいですか?私は何か他の方法で説明すべきでしょうか? – mrg3tools

+0

@Frankオブジェクトから名前を取得するコードを追加しましたが、カスタムリストビューレイアウトに複数のものを渡すにはどうすればよいですか。アップデートを確認してください。 – mrg3tools

+0

"と子...各リスト項目の追加情報になります"。情報はどこに表示されますか?リストアイテム自体、またはリストアイテムがクリックされたときに開くアクティビティ – Bill

答えて

1

あなたはCardviewレイアウトの代わりに、リストビューを使用してきました。

関連する問題