2010-09-22 7 views
13

Tôi đang cố gắng tạo menu ngữ cảnh thay đổi các tùy chọn có sẵn tùy thuộc vào hàng nào được nhấp.Nhận vị trí hàng trong onCreateContextMenu

Nhưng tôi không thể tìm ra cách để có được vị trí hàng trong listview cho hàng đã được nhấp, cho đến sau khi trình đơn được tạo.

Trả lời

48

Nó không phải là rõ ràng ở tất cả, nhưng đây là đoạn code:

public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) 
    {  
     AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo; 
     int position = info.position; 
+0

Cảm ơn bạn. Điều đó giải quyết nó hoàn toàn. –

+6

Tôi đang sử dụng cùng một điều nhưng tôi nhận được menuInfo là null .. bất kỳ ý tưởng .. –

+0

@TusharAgarwal Tôi đang gặp phải sự cố tương tự, bạn đã tìm thấy bất kỳ thay thế –

0

Các giải pháp trên không làm việc cho tôi. Đây là những gì tôi đã sử dụng:

@Override 
    public void onCreateContextMenu(ContextMenu menu, View v, 
            ContextMenu.ContextMenuInfo menuInfo) { 
     menu.add(0, v.getId(), 0, context.getString(R.string.tabTitleEnrolment)); 
     menu.add(0, v.getId(), 0, context.getString(R.string.tabTitleAfterCare)); 
     menu.add(0, v.getId(), 0, context.getString(R.string.contextMenuDelete)); 

     pos = getPosition(); 
    }