2011-06-14 4 views
0

ListView가 있는데, 컨텍스트 메뉴를 수신 대기합니다. 그 후 목록보기 A, B 및 C에 3 개의 항목이 있습니다. 그 중 일부를 오랫동안 누르고있을 때보 다 상황에 맞는 메뉴가 표시되지만 그 내용이 A 또는 B인지 C인지 알 수 있습니까? 어떤 항목을 눌렀는지 어떻게 알 수 있습니까? 희망은 도움이컨텍스트 메뉴의 표시를 시작한보기를 얻는 방법은 무엇입니까?

@Override 
public boolean onContextItemSelected(MenuItem item) 
{ 
    AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item 
      .getMenuInfo(); 
    int temp = info.position; 


    //temp is the index of your list.. simply use this: 
    String item = list.get(temp); 

    return true; 
} 

을 :의 ContextMenu와 함께 작동하는 방법을

+0

죄송합니다! , 나는 그 문제를 완전히 설명하지 않았다 ... 음, 그 점은 내가 A가 선택 되었다면 다른 것들을 보여주고 싶다는 것이다. (그냥 보자.) 그리고 B를 선택하면 '보기'와 '편집'을하고 싶다. '... – Lukap

답변

0

Here 몇 가지 예입니다, 당신은 단지리스트 뷰를 채우는 데 몇 가지 목록을 사용하고 있어야합니다 onContextItemSelected(MenuItem item)

1

를 오버라이드 (override) 할 필요가 ... 그런 다음 사용 UPDATE :

이 있던 항목을 확인하려면

누른 다음 메뉴를 보려면 다음을 참조하십시오.

@Override 
public void onCreateContextMenu(ContextMenu menu, View v, 
     ContextMenuInfo menuInfo) 
{ 
    if (v.getId() == your listview id) 
    { 
     AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo; 

     //Now simply use info.position to get the string from your list. use 
     // if else statements and use menu.add(String) to add menu items....   
    } 
관련 문제