【问题标题】:android firebase list data from node来自节点的android firebase列表数据
【发布时间】:2018-10-02 11:28:57
【问题描述】:

Android 应用程序在尝试显示来自 firebase 的数据列表时崩溃

public classexerciseshowactivity 扩展 Activity {

private DatabaseReference mDatabase;

private Button btnSearch;
private EditText actSearch;
private ListView lvexercise;
Exercise exercise;
String key;

private ArrayList<String> arrayList = new ArrayList <> ();
private ArrayAdapter<String> adapter;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate ( savedInstanceState );
    setContentView ( R.layout.activity_exerciseshow );

    mDatabase = FirebaseDatabase.getInstance ().getReference ().child("Exercise").child(key).child("name");

// DatabaseReference commandsRef = mDatabase.child("Exercise");

    adapter = new ArrayAdapter <String> ( this, android.R.layout.simple_list_item_1, arrayList );

    btnSearch = (Button) findViewById ( R.id.btnSearch );
    actSearch = (EditText) findViewById ( R.id.actSearch );
    lvexercise = (ListView) findViewById ( R.id.lvexercise );

    mDatabase.addChildEventListener ( new ChildEventListener () {
        @Override
        public void onChildAdded(DataSnapshot dataSnapshot, String s) {

// 地图 map = (Map) dataSnapshot.getValue(); // String string = dataSnapshot.getValue(String.class);

            Exercise latest = dataSnapshot.getValue(Exercise.class);

            arrayList.add ( String.valueOf ( latest ) );

            adapter.notifyDataSetChanged ();
            lvexercise.setAdapter ( adapter );

        }

        @Override
        public void onChildChanged(DataSnapshot dataSnapshot, String s) {

        }

        @Override
        public void onChildRemoved(DataSnapshot dataSnapshot) {

        }

        @Override
        public void onChildMoved(DataSnapshot dataSnapshot, String s) {

        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    } );
}

}

enter image description here

【问题讨论】:

  • 问题解决了吗?

标签: android firebase listview firebase-realtime-database


【解决方案1】:

您不需要添加 ChildEventListener。有一个 firebase 库可用于使用数据库中的数据填充列表视图。

这是链接,它也有一个指南。

https://github.com/firebase/FirebaseUI-Android/blob/master/database/README.md

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    相关资源
    最近更新 更多