1

リストアクティビティを介して配列リストを表示しています。また、おそらくハッシュマップでまとめることができるこれらのarraylist要素にIDを関連付けました。しかし、問題は、要素がクリックされたときに要素の特定の ID を取得したいことです。それを達成する方法。どんな助けでも大歓迎です。

4

3 に答える 3

0
      ListView lv = getListView();
      lv.setOnItemClickListener(new OnItemClickListener() {

      @Override
      public void onItemClick(AdapterView<?> adapter, View v, int position, long id) {
            long pos=lv.getItemAtPosition(position);
            //do your stuff here


     }

});

独自の ArrayAdapter を使用している場合は、getItem(position) メソッドを実装できます。

于 2012-08-23T08:50:05.187 に答える
0

getItemId(position)アダプターにメソッドを実装している場合は、クリックされた位置に基づいて ID を返すことができます。ここで返す id は、 のメソッドのlong id引数になります。onListItemClick(...)ListActivity

getItemId(int position)ArrayAdapterクラスのメンバーです。ListActivityは、 のアダプタからその関数を呼び出しますListView。あなたがしなければならないことは、実装を提供することだけです。残りは問題なく機能します。

http://developer.android.com/reference/android/widget/ArrayAdapter.html#getItemId(int )

于 2012-08-23T08:22:08.730 に答える
0

私のために働いた答えは次のとおりです。他の人に役立つことを願っています。Arraylist> testdata にデータがありました。私はこのようにそれを渡しました:-

this.setListAdapter(new SimpleAdapter(Grammar_tab_start.this, testdata ,
                       .layout.tab_single_item, new String[] { "module_name"},
                        new int[] { R.id.from}));
  ListView lv = getListView();

   to single list item on click
  lv.setOnItemClickListener(new OnItemClickListener() 
  public void onItemClick(AdapterView<?> parent, View view,
              int position, long id)

  {

        Log.i("check","Module item clicked");
  HashMap<String,String> pos=(HashMap<String, String>) lv.getItemAtPosition(position) ;

  Log.i("check","----" + position + "id" + id +"actual is "+ pos.get("module_id"));
         }

lv.getItemAtPosition() 関数を使用して、クリックされたオブジェクト全体を取得しました。そして、そこからイードの部分を取りました。乾杯。

于 2012-08-24T08:25:37.497 に答える