2016-12-25 1 views
-1

これは、リストビューの1つの項目でアプリケーションが接続されているFireベースから返されるすべての情報を示すコードです。リストビューの1つのリスト項目にFirebase情報が表示されています

コードで手助けをすることができます。

public class usernews extends AppCompatActivity { 
    FirebaseDatabase database = FirebaseDatabase.getInstance(); 
    final DatabaseReference myRef = database.getReference("allNews"); 
    private ListView lsStudents; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_usernews); 
     lsStudents=(ListView) findViewById(R.id.list); 
     ... 
    } 
    ... 
} 

私はエラーがここにいくつかの場所であると思いますが、私は

myRef.addValueEventListener(new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 
     // This method is called once with the initial value and again 
     // whenever data at this location is updated. 

     final List<String> areas = new ArrayList<String>(); 
     for (DataSnapshot areaSnapshot: dataSnapshot.getChildren()) { 
      String value1 = String.valueOf(dataSnapshot.getValue()); 
      areas.add(value1); 
     } 

     String value2 = String.valueOf(dataSnapshot.getValue()); 
     Log.d("allNews", "Value is: " + value2); 

     ArrayAdapter<String> areasAdapter = new ArrayAdapter<String>(usernews.this,android.R.layout.simple_expandable_list_item_1, areas); 
     lsStudents.setAdapter(areasAdapter); 
    } 
}); 

にFirebaseデータのスクリーンショットを、それを見つけることができません。 Link

+0

あなたFirebaseデータのノード構造が – Rahul

+0

示しすることはできますか?ログエントリ? https://stackoverflow.com/help/how-to-ask – Rahul

+0

i'vが – Ali

答えて

1
があなたの DataBaseReferenceを変更

正しいノードを参照した後Link

スクリーンショット。

使用この

final DatabaseReference myRef = database.getReference("allNews").child("allNews"); 

代わりの

final DatabaseReference myRef = database.getReference("allNews"); 

あなたの実際のデータは"allNews"タグの内側にあります。最終的にはその子ノードも同じ名前になります。

forループを更新します。誤った参照からデータを取得しています。

final List<String> areas = new ArrayList<String>(); 
for (DataSnapshot areaSnapshot: dataSnapshot.getChildren()) { 
    // Get value from areaSnapShot not from dataSnapshot 
    String value1 = String.valueOf(areaSnapshot.getValue()); 
    areas.add(value1); 
} 
+0

私はそれを変更しましたが、それでも私には多くのリスト項目が与えられましたが、すべてにはすべてのfirebase情報があります。 – Ali

+0

あなたはどんな反応を得ているのですか、すべての火災基地の情報をどういう意味ですか? – Rahul

+0

別のリンクを追加して確認できます – Ali

関連する問題