2010-03-12 36 views
6

Tôi nhận được giá trị -1 khi tôi cố gắng lấy vị trí mục đã chọn trên danh sách xem đã được điền.Android: Danh sách Xem mục đã chọn -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)); 
     } 
    } 
); 

Để lấp đầy xem danh sách của tôi sử dụng đoạn mã sau:

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}); 

Bất kỳ ý tưởng?

Xin cảm ơn trước.

Trân trọng.

Jose.

Trả lời

22

Điều đó có nghĩa là không có hàng nào được chọn. Các documentation khẳng định rằng getSelectedItemPosition() lợi nhuận:

int Chức vụ (bắt đầu từ 0), hoặc INVALID_POSITION nếu không có gì chọn là.

INVALID_POSITION-1.

Lưu ý rằng bạn đang gọi getSelectedItemPosition() từ số OnClickListener. Nhấp và chọn không nhất thiết liên quan. Lựa chọn đến từ việc sử dụng D-pad hoặc bi xoay để điều hướng nội dung danh sách. Nếu người dùng chạm vào màn hình (hoặc nhấp chuột trong trình giả lập), sẽ không có lựa chọn nào nữa, nhưng sẽ vẫn có sự kiện nhấp chuột.

Giá trị arg2 bạn hiển thị là vị trí của mục được nhấp vào trong danh sách.

+0

Câu trả lời đáng kinh ngạc, nó rất hữu ích, cảm ơn rất nhiều. Trân trọng. Jose. – Sosi

Các vấn đề liên quan