[英]How do I click on a ListView item and open an Activity referring to the item I clicked on?
我點擊一個自定義列表視圖項目,每個人都打開相同的活動,我希望每個項目都打開一個不同的活動。 我嘗試了多種方法,但我不明白,我是初學者,我沒有太多知識,所以我來這里尋求幫助。 不必准備好代碼,你可以告訴我一些幫助,它會很有幫助
public class artilheiros extends AppCompatActivity {
int [] Imagens = {R.drawable.arg, R.drawable.bolivia, R.drawable.brasil, R.drawable.chile,
R.drawable.colombia, R.drawable.chile, R.drawable.paraguai, R.drawable.uruguai,
R.drawable.arg, R.drawable.bolivia, R.drawable.brasil, R.drawable.chile,
R.drawable.colombia, R.drawable.chile, R.drawable.paraguai};
String [] Nomes = {"ART 1", "ART 2", "ART 3", "ART 4", "ART 5", "ART 6", "ART 7", "ART 8",
"ART 9", "ART 10", "ART 11", "ART 12", "ART 13", "ART 14", "ART 15"};
String [] Times = {"TIME 1", "TIME 2", "TIME 3", "TIME 4", "TIME 5", "TIME 6", "TIME 7",
"TIME 8", "TIME 9", "TIME 10", "TIME 11", "TIME 12", "TIME 13", "TIME 14", "TIME 15"};
String [] Gols = {"999 gols", "999 gols", "999 gols", "999 gols", "999 gols", "999 gols", "999 gols",
"999 gols", "999 gols", "999 gols", "999 gols", "999 gols", "999 gols", "999 gols", "999 gols"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_artilheiros);
final ListView listview = findViewById(R.id.listviewart);
ListView listview2 = findViewById(R.id.listviewart);
CustomAdapter customAdapter = new CustomAdapter();
listview.setAdapter(customAdapter);
int position = getIntent().getIntExtra("a", 0);
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
artilheiros a1 = (artilheiros) listview.getItemAtPosition(0);
Intent it = new Intent(artilheiros.this, campeoes.class);
it.putExtra("a1", position);
startActivity(it);
}
});
}
class CustomAdapter extends BaseAdapter{
@Override
public int getCount() {
return Imagens.length;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView = getLayoutInflater().inflate(R.layout.customlistview, null);
ImageView imageView = (ImageView) convertView.findViewById(R.id.imageView);
TextView textViewnome = (TextView) convertView.findViewById(R.id.textViewnome);
TextView textViewtime = (TextView) convertView.findViewById(R.id.textViewtime);
TextView textViewgols = (TextView) convertView.findViewById(R.id.textViewgols);
imageView.setImageResource(Imagens[position]);
textViewnome.setText(Nomes[position]);
textViewtime.setText(Times[position]);
textViewgols.setText(Gols[position]);
return convertView;
}
}
}
您可以使用 switch 語句。 例如在 onItemClick 里面:
switch (position) {
case 0:
//start Activity 1
break;
case 1:
// start Activity 2
break;
// etc
}
您沒有告訴我們這些活動是什么,但一般原則是盡可能少地使用活動。 也許您可以使用片段並從 onItemClick 更改該片段的一些數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.