В настоящее время я новичок в разработке приложений, и из приведенного ниже кода я хотел бы иметь возможность получать данные о значениях из Firebase.У меня есть приложение ListView, настроенное в моем приложении для Android, и я могу выбрать элемент из списка и открыть для другого действия.Я хочу, чтобы новое действие отображало данные из базы данных Firebase.

Кто-нибудь может посоветовать, очень признателен?
ublic class MainActivity extends AppCompatActivity {
private ArrayAdapter<String> arrayAdapter;
private ListView mListView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final String uid = FirebaseAuth.getInstance().getCurrentUser().myHikes();
DatabaseReference mDbRef = FirebaseDatabase.getInstance().getReference();
final DatabaseReference uidRef = mDbRef.child("Hikes").child(uid);
final List<String> list = new ArrayList<>();
final ArrayList<String> id = new ArrayList<>();
arrayAdapter = new ArrayAdapter<>(getApplication(), android.R.layout.simple_list_item_1, list);
String key = uidRef.push().getKey();
final hikeModClass report = new hikeModClass(String);
report.setName("name");
report.setDescription("description");
report.setKey(key);
uidRef.child(key).setValue(report);
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot dataSnapshot1 : DataSnapshot.getChildren()){
id.add(dataSnapshot1.getKey());
String name = dataSnapshot.child("name").getValue(String.class);
String description = dataSnapshot.child("description").getValue(String.class);
list.add(name + "\n" + description + "\n");
Log.d("TAG", name);
}
ListView = findViewById(R.id.mListView);
mListView.setAdapter(arrayAdapter);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
};
uidRef.addListenerForSingleValueEvent(eventListener);
final ListView progressList = findViewById(R.id.progressList);
progressList.setOnClickListener(new AdapterView.OnItemClickListener());{
@Override
public void onItemClick(AdapterView<?> parent, View view, int x, long l){
ValueEventListener eventListener1 = new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
ArrayList<hikeModClass> list = new ArrayList<>();
for (DataSnapshot dataSnapshot1: DataSnapshot.getChildren()){
hikeModClass report = dataSnapshot.getValue(hikeModClass.class);
list.add(report);
}
Intent intent = new Intent(MainActivity.this, hikeModClass.class);
ListView listView = findViewById(R.id.progressList);
listView.setAdapter(arrayAdapter);
startActivity(intent);
listView.setOnClickListener(new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l){
hikeModClass arrayAdapterItem = arrayAdapter.getItem(i);
Intent intent = new Intent(MainActivity.this, hikeModClass.class);
intent.putExtra("object", hikeModClass);
startActivity(intent);
}
});
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
};
uidRef.addListenerForSingleValueEvent(eventListener);
}
}
}
}
Модель класса
public class hikeModClass {
private String name;
private String description;
private String key;
public hikeModClass(String name, String description, String key) {
this.name = name;
this.description = description;
this.key = key;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}