2011-12-02 118 views
0

需要一些帮助,让监听者使用我的列表视图。我的活动是扩大活动。这可能是完全错误的。我一直在混音和匹配。任何帮助都是极好的。onItemSelected监听者

lv.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
     public void onItemSelected(AdapterView<?> parentView, View childView, int position,    long id) { 
      Toast.makeText(getBaseContext(), "u clicked " +  al.get(position),Toast.LENGTH_LONG).show(); 
      } 
     }); 
+0

这是什么问题? –

回答

0

您需要从视图中获取位置。

这依赖于你为列表(MyType)设置了一个类型,它还要求你使用的任何类型都重写了toString()。

这是可行的,因为ListView能够返回一个listitem在任何给定的位置,在你使用的代码中,我猜这是指arraylist,你需要我认为得到的物品在列表视图中的那个位置。 (lv)

lv.setOnItemClickListener(new OnItemClickListener() { 

     public void onItemClick(AdapterView<?> parent, View view, 
      int position, long id) { 
      /* cast should be safe as listview is of MyType */ 
      MyType mt = (MyType) lv.getItemAtPosition(position); 
      StringBuffer prompt = new StringBuffer("You Clicked : "); 
      prompt.append(mt.toString()); 
      Toast.makeText(getApplicationContext(), prompt, Toast.LENGTH_SHORT).show(); 
     }