public class pendentes extends AppCompatActivity {
FirebaseDatabase firebaseDatabase;
DatabaseReference databaseReference;
Dialog myDialog;
Pessoa pessoa;
private List<Pessoa> listaPendentes = new ArrayList<Pessoa>();
private ArrayAdapter<Pessoa> arrayAdapterPessoa;
Pessoa pessoaSelecionada
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pendentes);
myDialog = new Dialog(this);
getSupportActionBar().setTitle("Pendentes");
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
iniciarFirebase();
eventDataBase();
}
private void eventDataBase() {
SharedPreferences sharedPreferences =
PreferenceManager.getDefaultSharedPreferences(pendentes.this);
String emailLog = sharedPreferences.getString("logEmail", "");
databaseReference.child("Entregadores/" + emailLog + "/Entregas Pendentes").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
listaPendentes.clear();
for (DataSnapshot objSnapshot : dataSnapshot.getChildren()) {
Pessoa p = objSnapshot.getValue(Pessoa.class);
listaPendentes.add(p);
}
arrayAdapterPessoa = new ArrayAdapter<Pessoa>(pendentes.this,
android.R.layout.simple_list_item_1, listaPendentes);
ListView mylist = findViewById(R.id.listaPendentes);
mylist.setAdapter(arrayAdapterPessoa);
mylist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
Toast.makeText(pendentes.this, ""+listaPendentes.get(position), Toast.LENGTH_SHORT).show();
Pessoa pessoa;
showPopUp();
}
});
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
private void iniciarFirebase() {
firebaseDatabase = FirebaseDatabase.getInstance();
//firebaseDatabase.setPersistenceEnabled(true);
databaseReference = firebaseDatabase.getReference();
}
public void showPopUp() {
TextView txtClose;
TextView txtNome;
ImageButton btnNavegar;
myDialog.setContentView(R.layout.popup_pendentes);
btnNavegar = (ImageButton) myDialog.findViewById(R.id.btnNavegar);
txtNome = (TextView) findViewById(R.id.txtNome);
txtClose = (TextView) myDialog.findViewById(R.id.txtClose);
txtClose.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
myDialog.dismiss();
}
});
btnNavegar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent navegation = new Intent(pendentes.this, navigation.class);
startActivity(navegation);
}
});
myDialog.show();
}
Pessoa.java
public class Pessoa {
private String Nome;
private String Usos;
private Float LAT;
private Float LONGI;
private String Endereço;
private String CPF;
private String Medicamentos;
public Pessoa() {
}
public Pessoa(String nome, String usos, Float LAT, Float LONGI,
String endereço, String CPF, String medicamentos) {
Nome = nome;
Usos = usos;
this.LAT = LAT;
this.LONGI = LONGI;
Endereço = endereço;
this.CPF = CPF;
Medicamentos = medicamentos;
}
public String getNome() {
return Nome;
}
public void setNome(String nome) {
Nome = nome;
}
public String getUsos() {
return Usos;
}
public void setUsos(String usos) {
Usos = usos;
}
public Float getLAT() {
return LAT;
}
public void setLAT(Float LAT) {
this.LAT = LAT;
}
public Float getLONGI() {
return LONGI;
}
public void setLONGI(Float LONGI) {
this.LONGI = LONGI;
}
public String getEndereço() {
return Endereço;
}
public void setEndereço(String endereço) {
Endereço = endereço;
}
public String getCPF() {
return CPF;
}
public void setCPF(String CPF) {
this.CPF = CPF;
}
public String getMedicamentos() {
return Medicamentos;
}
public void setMedicamentos(String medicamentos) {
Medicamentos = medicamentos;
}
@Override
public String toString() {
return Nome;
}
如何检索已由“ eventDataBase”功能读取的数据并显示在PopUp的TextView中?我希望它能抓住。
程序从Firebase“ Entregas Pendentes”的数据创建一个列表>>>当我单击某个项目时,它的字符串为“ Nome”,但是在Firebase中还有其他数据,例如:“ Nome”,“Endereço” ,“ CPF”等...,我不知道如何在弹出窗口中显示数据。