从Firebase检索数据到TextView [英] retrieve data from firebase to textview

查看:67
本文介绍了从Firebase检索数据到TextView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的应用中,我有两项活动.第一个活动将数据保存到Firebase,第二个活动检索数据.我可以毫无问题地存储数据,但是当尝试检索数据时,它不会出现在TextView

In my app I have two activities. The first activity saves data to Firebase, the second activity retrieves data. I can store data without problem but when try retrieve data it does not appear in the TextView

这是我用来检索数据的代码

This my code to retrieve the data

 public class DataOne extends NavigationApp {
  public TextView nameOne, ageOne, addressOne, shcoolOne;
     private DatabaseReference mDatabase;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);



    Firebase.setAndroidContext(this);
    mDatabase = FirebaseDatabase.getInstance().getReference().child("/DetailOne/");

    TextView NameStudent = (TextView) findViewById(R.id.Name);
    TextView agestudent = (TextView) findViewById(R.id.age);
    TextView addressstudent = (TextView) findViewById(R.id.address);
    TextView schoolstudent = (TextView) findViewById(R.id.school);

    nameOne = (TextView) findViewById(R.id.WriteName);
    ageOne = (TextView) findViewById(R.id.WriteAge);
    addressOne = (TextView) findViewById(R.id.WriteAddress);
    shcoolOne = (TextView) findViewById(R.id.WriteSchool);

    Button map = (Button) findViewById(R.id.mapOne);
    map.setOnClickListener(new View.OnClickListener() {
        @Override

        public void onClick(View view) {
            Intent MapOne= new Intent(DataOne.this, DataOneMap.class);

            startActivity(MapOne);
        }
    });

    mDatabase.addValueEventListener(new ValueEventListener() {


        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
                Detail detail = dataSnapshot.getValue(Detail.class);

                String name = detail.getName();
                String age = detail.getAge();
                String address = detail.getAddress();
                String school = detail.getSchool();

                nameOne.setText(name);
                ageOne.setText(age);
                addressOne.setText(address);
                shcoolOne.setText(school);


            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

            // [START_EXCLUDE]
            System.out.println("The read failed: " + databaseError.getMessage());
        }
    });
}
}

当我运行应用程序时,TextView显示为空.

When I run app the TextView appears empty.

Firebase结构:

Firebase structure:

推荐答案

从此处更改此代码行

Detail detail = dataSnapshot.getValue(Detail.class);

对此

Detail detail = postSnapshot.getValue(Detail.class);

这篇关于从Firebase检索数据到TextView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆