Здравствуйте, я новичок в кодировании, я создаю приложение, и вам нужна небольшая помощь!
Моя первая строка в табличном представлении всегда повторяется, когда у меня есть данные чтобы показать.
Это результат моего приложения:
Я хочу, чтобы это было похоже на обычную таблицу, например:
Я покажу вам свой код:
Мое «основное действие»:
public class Administracao extends AppCompatActivity {
private static final String[] MATRICULA = new String[]{
"10-NX-68", "21-30-XJ", "54-HI-11", "90-29-VE"
};
private AutoCompleteTextView editText_Matric;
//Referencias base de dados
DatabaseReference reff2;
private FirebaseDatabase database;
Spinner spinner;
String selected_item;
//Testes Firebase listview apagar se der erro
List<Dados_Administracao> administracao_adapter;
ListView listViewCondutores;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_administracao);
editText_Matric = findViewById(R.id.actv);
Button btn = findViewById(R.id.btn_seguinte);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, MATRICULA);
editText_Matric.setAdapter(adapter);
//TESTES FIREBASE list view
listViewCondutores = (ListView) findViewById(R.id.listView1);
administracao_adapter = new ArrayList<>();
editText_Matric.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
//Mostrar todos os registos
reff2 = database.getInstance().getReference().child("Registo Inicial e Final");
reff2.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange( DataSnapshot dataSnapshot) {
administracao_adapter.clear();
for (DataSnapshot ds : dataSnapshot.getChildren()) {
Dados_Administracao dt = ds.getValue(Dados_Administracao.class);
if(ds.child("matricula").getValue().equals(editText_Matric.getText().toString())) {
administracao_adapter.add(dt);
}
}
Administracao_adapter adapter2 = new Administracao_adapter(Administracao.this, administracao_adapter);
listViewCondutores.setAdapter(adapter2);
// adapter2.notifyDataSetChanged();
}
@Override
public void onCancelled(DatabaseError databaseError) {
// Handle possible errors.
Log.e("The read failed: " ,databaseError.getMessage());
}
});
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
}
Действие, в котором я храню данные:
public class Dados_Administracao {
private String observacoes,matricula,datainicio,horainicio,datafim,horafim,nomecondutor,marca,codprojeto,latfinal,longfinal,obsfinal,latitude,longitude,kminicial,kmfinal;
public Dados_Administracao(){
}
public Dados_Administracao(String observacoes, String matricula, String datainicio, String horainicio, String datafim, String horafim, String nomecondutor, String marca, String codprojeto, String latfinal, String longfinal, String obsfinal, String latitude, String longitude, String kminicial, String kmfinal) {
this.observacoes = observacoes;
this.matricula = matricula;
this.datainicio = datainicio;
this.horainicio = horainicio;
this.datafim = datafim;
this.horafim = horafim;
this.nomecondutor = nomecondutor;
this.marca = marca;
this.codprojeto = codprojeto;
this.latfinal = latfinal;
this.longfinal = longfinal;
this.obsfinal = obsfinal;
this.latitude = latitude;
this.longitude = longitude;
this.kminicial = kminicial;
this.kmfinal = kmfinal;
}
public String getObservacoes() {
return observacoes;
}
public String getMatricula() {
return matricula;
}
public String getDatainicio() {
return datainicio;
}
public String getHorainicio() {
return horainicio;
}
public String getDatafim() {
return datafim;
}
public String getHorafim() {
return horafim;
}
public String getNomecondutor() {
return nomecondutor;
}
public String getMarca() {
return marca;
}
public String getCodprojeto() {
return codprojeto;
}
public String getLatfinal() {
return latfinal;
}
public String getLongfinal() {
return longfinal;
}
public String getObsfinal() {
return obsfinal;
}
public String getLatitude() {
return latitude;
}
public String getLongitude() {
return longitude;
}
public String getKminicial() {
return kminicial;
}
public String getKmfinal() {
return kmfinal;
}
}