2010-03-12 58 views
6

當我嘗試獲取已填充的列表視圖上的選定項目位置時,獲取-1值。Android:List View Selected item -1

list.setOnItemClickListener 
(
    new AdapterView.OnItemClickListener() 
    { 
     public void onItemClick(AdapterView adapterView, View view,int arg2, long arg3) 
     { 
      int selectedPosition = adapterView.getSelectedItemPosition(); 
      ShowAlert(String.valueOf(selectedPosition)); 
     } 
    } 
); 

爲了填補我的列表視圖我使用下面的代碼:

SimpleAdapter mSchedule = new SimpleAdapter(
      this, 
      mylist, 
      R.layout.listviewtest, 
      new String[] {"test1", "test2", "test3"}, 
      new int[] {R.id.TextView_websitename, R.id.TextView_keywords, R.id.TextView_backlink}); 

任何想法?

在此先感謝。

最好的問候。

何塞。

回答

22

這意味着沒有選中的行。該documentation指出getSelectedItemPosition()回報:

INT位置(從0開始),或者如果沒有選擇任何內容, INVALID_POSITION。

INVALID_POSITION-1

請注意,您從OnClickListener呼叫getSelectedItemPosition()。點擊和選擇不一定相關。選擇來自使用D-pad或軌跡球來瀏覽列表內容。如果用戶點擊屏幕(或點擊模擬器),將不再有選擇,但仍然會有點擊事件。

您顯示的arg2值是列表中單擊項目的位置。

+0

令人難以置信的答案,這是非常非常有用的,非常感謝。 此致敬禮。 何塞。 – Sosi 2010-03-12 16:53:22

相關問題