If you want to pass this information on to a TextView
in another Activity
you can use listView.setOnItemClickListener()
and pass the data via Intent
:
Activity of the Team List
public static final String KEY_EQUIPE = "equipe";
//onCreate
...
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Equipe equipe = list.get(position);
Intent intent = new Intent(ListEquipesActivity.this, DetalhesEquipesActivity.class)
intent.putExtra(KEY_EQUIPE , equipe);
startActivity(intent);
}
});
Activity of the list of Pilots
public static final String KEY_EQUIPE = "equipe";
public static final String KEY_PILOTO = "piloto";
//no onCreate
...
Intent intent = getIntent();
Equipe equipe = intent.getSerializableExtra
//Como são apenas dois pilotos por equipe e já tem esses argumentos na sua classe Equipe, você pode fazer isso estaticamente
//Se o número de pilotos de cada equipe não for um número estático, você terá que mudar o construtor da sua classe
//para construir um piloto de cada vez e fazer um Adapter para tal
//Forma de setar os nomes com layout atual
TextView nomePiloto1 = findViewbyid(R.id.nome_piloto_1);
nomePiloto1.setText(equipe.getNomePiloto1);
//Faça isso para todas as outras TextViews
//Funcionará assim se o número de pilotos não for estático
//Se quiser ter o mesmo resultado com o código atual pode setar um OnClickListener para cada layout de piloto
ListView listView = findViewById(R.id.listView) //Recupera sua listView no Java
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Piloto piloto = list.get(position);
Intent intent = new Intent(ListActivity.this, DetalhesActivity.class)
intent.putExtra(KEY_PILOTO, piloto);
startActivity(intent);
}
});
Activity of details
public static final String KEY_PILOTO = "piloto";
//No onCreate()
Intent intent = getIntent();
Piloto piloto= intent.getSerializableExtra(KEY_PILOTO);
TextView textDetalhesNome = findViewById(R.id.text_detalhes_nome);
textDetalhesNome.setText(piloto.getNomePiloto1());
TextView textDetalhesIdade = findViewById(R.id.text_detaçhes_idade);
textdetalhesIdade.setText(piloto.getIdadePiloto1());
//Adicione mais o que quiser aqui, foi só um ex
Your Pilot and Team class needs to implement the Serializable interface to work
"I created a "Pilot class if you want to use this code later
Since all Teams classes are equal use only one class called Team to create list items, this makes it easy to write and read code
advice is to stop using listview and start using Recycler view
– xanexpt