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 に答える