Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何每秒使用RecyclerView刷新Firebase数据库数据_Java_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Java 如何每秒使用RecyclerView刷新Firebase数据库数据

Java 如何每秒使用RecyclerView刷新Firebase数据库数据,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我创建了一个Android应用程序,并将数据存储在Firebase数据库中,我得到了数据,但当用户添加新的内容时,数据不会显示在应用程序中,直到用户退出并再次输入应用程序 我试试这个 @Override protected void onRestart() { super.onRestart(); adapter.notifyDataSetChanged(); } *用户通过转到另一个活动来添加数据。 我想在任何时候刷新数据数据添加而不退出应用程序并再次输入。 这就是我设置

我创建了一个Android应用程序,并将数据存储在Firebase数据库中,我得到了数据,但当用户添加新的内容时,数据不会显示在应用程序中,直到用户退出并再次输入应用程序

我试试这个

  @Override
protected void onRestart() {
    super.onRestart();
   adapter.notifyDataSetChanged();

}
*用户通过转到另一个活动来添加数据。 我想在任何时候刷新数据数据添加而不退出应用程序并再次输入。 这就是我设置适配器数据的方式

DatabaseReference myRef = FirebaseDatabase.getInstance().getReference();
myRef.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

            if (dataSnapshot.exists()) {
                for (DataSnapshot ds : dataSnapshot.getChildren()) {

                    for (DataSnapshot d : ds.getChildren()) {
                        data.add(d.getValue(game.class));

                    }
                    adapter = new allAdapter(data);
                    rv.setAdapter(adapter);
                
                    allGamesAdapter.notifyDataSetChanged();

                }
            }
           
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {
           
            Toast.makeText(MainActivity.this, "error", Toast.LENGTH_SHORT).show();

        }
我想在任何时候刷新数据数据添加而不退出应用程序并再次输入

您正在寻找Firebase实时数据库的实时功能。要实时获取更新,应使用
addValueEventListener()
将调用更改为
addListenerForSingleValueEvent()
。在您现在所做的工作中,您只获得一次数据,因此会出现这种行为。有关更多信息,请查看官方文档:


很抱歉我有事情要做,谢谢,这是帮助,但会导致其他问题。如果您遇到其他问题,请使用自己的问题发布新问题,以便我和其他Firebase开发人员可以帮助您。