2011-12-02 98 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(); 
     }