0

我有一个足球队名称的 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 方法的帮助。

对于列表视图中的每个足球队,我想为其分配一个意图。因此,Arsenal 将开设一个名为 ars.java 的课堂活动。

这需要为 20 个团队完成。

如果我设置了一个类名数组,我如何遍历列表视图并将相应的类名分配给每个团队名?

4

2 回答 2

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字符串变量中,供您根据需要使用。

于 2012-06-03T00:03:05.757 回答
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方法中。

于 2012-06-03T00:03:29.653 回答