简体   繁体   English

显示详细信息 firebase 数据来自 listview onitemclick Android Studio

[英]Display Detail firebase data from listview onitemclick Android Studio

The problem I am facing is that I cannot display the detail of the ListView on which I clicked, any suggestion to display the detail of the Firebase data, I'm done for itemOnClick and change to another activity, but the problem is that it shows only the text of ListView and not the detail, thank you我面临的问题是我无法显示我单击的ListView的详细信息,任何显示 Firebase 数据详细信息的建议,我已完成 itemOnClick 并更改为另一个活动,但问题是它显示只有ListView的文本,而不是细节,谢谢

LISTVIEW JAVA CLASS LISTVIEW JAVA CLASS

databaseReference.addChildEventListener(new ChildEventListener() {
    @Override
    public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
        final String value = dataSnapshot.getValue(Sample.class).toString();
        arrayList.add(0,value);
        listcase.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                Intent intent = new Intent(getApplicationContext(), Report.class);
                //String sample = String.valueOf(arrayList.get(i));//arrayAdapter.getItem(i);
                intent.putExtra("sample", String.valueOf(arrayList.get(i)));
                startActivity(intent);
                overridePendingTransition(R.anim.slide_right_entering, R.anim.slide_right_exiting);
                finish();
            }
        });
    }
});

CONSTRUCTOR建设者

public Sample() {
}

public String getName() {
    return Name;
}

public void setName(String name) {
    Name = name;
}

public String getPhone() {
    return Phone;
}

public void setPhone(String phone) {
    Phone = phone;
}

public String getDate() {
    return Date;
}

public void setDate(String date) {
    Date = date;
}

public String getSymthom() {
    return symthom;
}

public void setSymthom(String symthom) {
    this.symthom = symthom;
}

public String getAddress() {
    return address;
}

public void setAddress(String address) {
    this.address = address;
}

public String getPlace() {
    return place;
}

public void setPlace(String place) {
    this.place = place;
}

public String getDateDiag() {
    return DateDiag;
}

public void setDateDiag(String dateDiag) {
    DateDiag = dateDiag;
}

public String toString (){
    return "Sample Name : " + Name + "\n"+ "Status : ";
}

DETAIL JAVA CLASS详情 JAVA CLASS

Intent intent = getIntent();
if (intent.hasExtra("sample"))
{
    textView.setText(intent.getStringExtra("sample"));
}

I have no idea how to display detail of my Firebase object to another activity, thank you for helping me我不知道如何在另一个活动中显示我的 Firebase object 的详细信息,谢谢你帮助我

Your ArrayList contains an only String , not a detail object.您的ArrayList仅包含String ,而不是详细信息 object。

final String value = dataSnapshot.getValue(Sample.class).toString();

So when you get by index it returns item value.因此,当您通过索引获取时,它会返回项目值。 If you share the value of value JSON structure it would be good to understand better.如果您共享JSON 结构的值,那么更好地理解会很好。

  databaseReference.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

                for (DataSnapshot snapshot : dataSnapshot){
                    Log.d("data", "onDataChange: "+ dataSnapshot);
                    Sample Sample = snapshot.getValue(Sample.class);
                    sampleList.add(Sample);
                }

            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM