当前位置: 首页 > 知识库问答 >
问题:

我无法在TextView中显示来自Firebase实时数据库的数据

钱运浩
2023-03-14

我正在尝试为一个活动构建一个票务预订应用程序,我设法完成了注册和登录部分。登录后,用户配置文件会显示出来,其中包含一些关于姓名、年龄、电子邮件等的文本视图。我想从实时数据库中读取数据并将其放入文本视图中。我不知道问题出在哪里,但文本视图不会显示数据。

用户配置文件类

public class ProfilUser extends AppCompatActivity {

    private FirebaseUser user;
    private DatabaseReference referinta;

    private String userID;

    private Button delogare;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_profil_user);

        delogare = (Button) findViewById(R.id.delogare);

        delogare.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                FirebaseAuth.getInstance().signOut();
                startActivity(new Intent(ProfilUser.this,MainActivity.class));
            }
        });

        user = FirebaseAuth.getInstance().getCurrentUser();;
        userID = user.getUid();
        referinta = FirebaseDatabase.getInstance("https://rezervarebileteveniment-default-rtdb.europe-west1.firebasedatabase.app").getReference("Users").child(userID);

         TextView bunVenitTextView = (TextView) findViewById(R.id.bunVenit);
         TextView numeTextView = (TextView) findViewById(R.id.getNume);
         TextView prenumeTextView = (TextView) findViewById(R.id.getPrenume);
         TextView varstaTextView = (TextView)  findViewById(R.id.getVarsta);
         TextView emailTextView = (TextView) findViewById(R.id.getAdresaEmail);

         referinta.child(userID).addListenerForSingleValueEvent(new ValueEventListener() {
             @Override
             public void onDataChange(@NonNull DataSnapshot snapshot) {
                 User profilUser = snapshot.getValue(User.class);

                 if(profilUser != null){
                    String nume = profilUser.nume;
                    String prenume = profilUser.prenume;
                    String email = profilUser.email;
                    String varsta = profilUser.varsta;

                    bunVenitTextView.setText("Buna ziua, "+nume + " "+prenume +"!");
                    numeTextView.setText(nume);
                    prenumeTextView.setText(prenume);
                    emailTextView.setText(email);
                    varstaTextView.setText(varsta);
                 }
             }

             @Override
             public void onCancelled(@NonNull DatabaseError error) {
                 Toast.makeText(ProfilUser.this,"Ceva nu a mers bine!", Toast.LENGTH_LONG).show();
             }
         });
    }
}

用户类

package oct.alx.rezervarebileteveniment;

public class User {

    public String nume, prenume , varsta, email;

    public User(){

    }

    public User(String nume, String prenume, String varsta, String email){
        this.nume = nume;
        this.prenume = prenume;
        this.varsta = varsta;
        this.email = email;
    }

    public String getNume(){
        return nume;
    }
    public void setNume(String nume){
        this.nume = nume;

    }

    public String getPrenume() {
        return prenume;
    }
    public void setPrenume(String prenume) {
        this.prenume = prenume;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getVarsta() {
        return varsta;
    }

    public void setVarsta(String varsta) {
        this.varsta = varsta;
    }
}

暂时还没有答案

 类似资料:
  • 应用程序运行良好...只是数据没有出现...我已经添加了sha用户电子邮件显示在登录后,在登录活动中我已经添加了 但是在实时数据库数据不显示以防万一…我也等了半个小时,尝试了所有的东西…网络也不错。数据库中的数据库规则的数据库图片 mainActivity.java//不能用于单个子级,即firebaseDatabase.getInstance().getReference().child(“aj

  • 我试图显示firebase realtime数据库中的项,我在数据库中有两个节点,我在适配器类函数上使用了Log方法,它显示有2个,但它没有显示在我的UI中,两项视图正在生成,但没有显示带有名称和mob的内容。

  • 问题内容: 我用倒数计时器创建了一个Listview,下面是代码: TicketModel 类: 我在哪里填充ListView: 我的问题是我想在TextView中显示计时器(字符串),但无法访问它。谁能给我建议? 当我在控制台中打印并且输出正确时,但无法显示它。我应该改变工作方式吗? 问题答案: 修改了Adapter类以使倒计时工作正常。

  • 我是Android的新手,我正在做一个应用程序,可以显示用户上传的衣服图片。我可以完美地上传图片,但由于某种原因,我无法将firebase实时数据库中的图像显示到中。几周来我一直在寻找解决办法。 请帮帮我。非常感谢你抽出时间。 topactivity.java 下面是我在TopsActivity.java中所做的更改

  • 我有一个,如下所示,它可以从CMS/Database中提取数据。  反应代码: Z行打印以下内容: 问题说明:在上面的代码中,中的div没有打印任何内容,尽管我能够在中显示所有内容。