我有一个足球队名单的ListView,使用下面的代码添加到列表视图中。
public final String[] teamnames = { "Arsenal", "Chelsea", "Man United" };
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,teamnames);
setListAdapter(adapter);
}
我需要一些关于onListItemClick方法的帮助。
对于列表视图中的每个足球队,我想指定一个意图。因此,阿森纳将开设一个名为ars.java的课堂活动。
这需要为20支球队完成。
如果我设置了一个类名数组,我如何遍历列表视图并为每个团队名分配相应的类名?
答案 0 :(得分:4)
当您设置意图(开始活动之前)时,您会添加额外的内容,如下所示:
Intent myIntent = new Intent(ListActivity.this, TeamActivity.class);
myIntent.putExtra("TeamName", teamname);
ListActivity.this.startActivity(myIntent);
然后在您调用的活动中检索它:
Bundle extras = getIntent().getExtras();
String team = extras.getString("TeamName");
将您的团队名称放入team
字符串变量中,供您根据需要使用。
答案 1 :(得分:3)
是的,我建议也使用intent.putExtra
这是一个示例实现:
public void onListItemClick(ListView l, View v, int position, long id) {
teamName = teamNames[position]; // Assuming the order is the same
Intent intent = new Intent().setClass(getActivity(), ShowDetail.class);
intent.putExtra("team", teamName);
startActivity(intent);
}
ShowDetail.class
是您要启动的活动,它会传递一个包含团队名称的额外内容。
要在ShowDetail
中获取团队名称,您可以致电
String team = getIntent().getStringExtra("team");
在onCreate
方法中。