2012-07-01 4 views
1

디버거를 실행할 때 onCreateContextMenu 메서드에서 변수 ContextMenuInfo menuInfo을 볼 수 있으며 오랫동안 눌려진 목록 항목의 ID를 보유하고 있음을 알 수 있습니다. 어떻게해야합니까? 그 가치를 얻으시겠습니까? 내가 정보를 필요로하는 곳에 여기에 편집 ContextMenu의 menuInfo에서 목록 항목 ID를 얻는 방법

이다

@Override 
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo){ 
     if(mNum == 1){ 
      menu.setHeaderTitle("Incident List Menu"); 
      menu.add(Menu.NONE,6,0,"- Take Photo"); 
      menu.add(Menu.NONE, INCIDENT_DELETE, 1, "- Delete"); 
      menu.add(Menu.NONE, INCIDENT_DELETE_ALL, 2, "- Delete All"); 
     }else if(mNum == 2){ 
      Cursor c = getActivity().getContentResolver().query(StatusList.STATUS_URI,new String[] {StatusList.STATUS_PERMISSIONS},StatusList.STATUS_ID+"="+, selectionArgs, sortOrder) 
      Log.d("MainActivity", "status list"); 
     }else if(mNum == 3){ 
      menu.setHeaderTitle("Distribution List Menu"); 
      menu.add(Menu.NONE, DL_DELETE, 0, "- Delete"); 
      menu.add(Menu.NONE, DL_DELETE_ALL, 1, "- Delete All"); 
     }else if(mNum == 4){ 

     }else if(mNum == 5){ 

     } 
    } 

내가 info.position를 사용 후, 질의 AdapterView.AdapterContextMenuInfo 개체로 제공된 ContextMenuInfo 객체 캐스트

답변

1

을 만들기 위해 여기에 ID가 필요하거나 info.id 또는 무엇이든.

+0

안녕하세요 커먼즈, 이렇게하면 클래스 캐스팅 예외가 발생합니다. AdapterView.AdapterContextMenuInfo info; info = (AdapterView.AdapterContextMenuInfo) menuInfo; com.android.internal.view.menu.MenuItemImpl을 android.widget.AdapterView로 캐스팅 할 수 없습니다. $ AdapterContextMenuInfo –

+0

menuInfo.getMenuInfo()를 할 필요가 없습니다. –

관련 문제