2010-11-09 4 views

Répondre

6

Vous recherchez probablement openContextMenu(view). Appelez-le dans le menu onclick()

Pour créer un menu contextuel, remplacez onCreateContextMenu et onContextItemSelected. Référez-vous à google pour des exemples.

+0

Salut, S'il vous plaît laissez-moi savoir ce que dois-je donner à la place de vue .... extrait de code ci-joint - http://pastebin.com/uh9LXCY2 – user264953

+0

Eh bien, cela dépend vraiment, est c'est le seul menu contextuel de cette activité? si c'est le cas, utilisez 'getCurrentFocus()' – st0le

+0

Non. J'ai un listview. J'ai débogué et vérifié .. getCurrentFocus() renvoie Listview – user264953

0

Vous avez seulement besoin d'implémenter cette fonction. Ça va marcher.

@Override 
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) 
{ 
Log.e(LOGTAG, "Tao menu"); 
if(v == expList) 
{ 
    super.onCreateContextMenu(menu, v, menuInfo); 
    //AdapterContextMenuInfo aInfo = (AdapterContextMenuInfo) menuInfo; 

    // We know that each row in the adapter is a Map 
    //HashMap map = (HashMap) simpleAdpt.getItem(aInfo.position); 
    menu.setHeaderTitle("Options"); 
    menu.add(1, 1, 1, "Reprint"); 
    menu.add(1, 2, 1, "Void"); 

    menu.getItem(0).setOnMenuItemClickListener(new OnMenuItemClickListener() 
    { 
     public boolean onMenuItemClick(MenuItem clickedItem) 
     { 

      return true; 
     } 
    }); 

    menu.getItem(1).setOnMenuItemClickListener(new OnMenuItemClickListener() 
    { 
     public boolean onMenuItemClick(MenuItem clickedItem) 
     { 

      return true; 
     } 
    }); 
} 

}