私は簡単なリストを取得する方法を知っていますが、セクション1の学生のリストを望むテキストボックスにユーザーが入力した場合のようにノードが入れ子になっているときに問題を抱えています。示される。 これは簡単なリストのための私のコードです。firebaseからのリストの検索
public class MainActivity extends AppCompatActivity {
ListView listView;
DatabaseReference dref;
ArrayList<String> list=new ArrayList<>();
ArrayAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView=(ListView)findViewById(R.id.ListView);
adapter=new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,list);
listView.setAdapter(adapter);
dref= FirebaseDatabase.getInstance().getReference();
dref.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
String value=dataSnapshot.getValue(String.class);
list.add(value);
adapter.notifyDataSetChanged();
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
String value=dataSnapshot.getValue(String.class);
list.remove(value);
adapter.notifyDataSetChanged();
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
JSONツリー:
それを行う方法を私に勧めてください。
私のリストのように名前と値の両方を表示する方法は、それが唯一のロールを示しているありno.And私は 'のgetKeyを(使用する最初のスニペットを更新ソリューション – fuk
のためにどうもありがとうございました)'と ' getValue(Integer.class) 'を使って名前と値を取得します。 –