If you want to pass this information to a TextView
into another Activity
you can use listView.setOnItemClickListener()
and pass the data via Intent
:
Teams list activity
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);
}
});
Pilots list activity
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 for this to work
"I created" a Pilot class if you want to use this code later
Since all Team classes are the same, use only one class called Team to create list items, this makes it easier to write and read code