-1

アイテムがListViewいっぱいです。onClickListenerクリックされたアイテムの詳細を表示するように設定したいと思います。内でクリックされたアイテムを特定するにはどうすればよいonClickListenerですか? 、Viewまたはvには、私が調べた利用可能なメソッドがたくさんありますが、オブジェクトをクリックすることに関連するものは何もありません。

    //populate the activity list
    ListView teamsListView = (ListView) activity.findViewById(R.id.teamsListView);
    ArrayList<HashMap<String, String>> listData = new ArrayList<HashMap<String, String>>();
    HashMap<String, String> listItem;
    for (TeamSet teamSet : response.getTeamSetList()) {
        listItem = new HashMap<String, String>();
            listItem.put("name", teamSet.getName());
            //listItem.put("teamCount", Integer.toString(teamSet.getTeams().size()));

        listData.add(listItem);
    }
    teamsListView.setAdapter(
            new SimpleAdapter(
                    context,
                    listData,
                    R.layout.teams_list_row,
                    new String[]{"name"},
                    new int[]{R.id.teamsTeamListName}
            )
    );

    //show details on a team
    TextView team = (TextView) activity.findViewById(R.id.teamsTeamListName);
    team.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //how do I know which item was clicked?  I want to load more details on the item...
        }
    });
4

1 に答える 1

4

onClickListener ではなく OnItemClickListener を使用します

次のようにします。

final ListView lv = (ListView) findViewById(R.id.ListView01);

lv.setOnItemClickListener(new OnItemClickListener() {
      public void onItemClick(AdapterView<?> myAdapter, View myView, int myItemInt, long mylng) {
        String selectedFromList =(String) (lv.getItemAtPosition(myItemInt));

      }                 
});

これが役に立ったことを願っています。

于 2013-01-23T00:27:25.000 に答える