2015-09-30 3 views
1

У меня есть список. Я хочу щелкнуть элемент и показать контекстное меню в позиции позиции клика. В настоящее время я использую приведенный ниже код для отображения контекстного меню и выполнения некоторых действий при нажатии элемента. Он работает хорошо, но положение контекстного меню является автоматической настройкой в ​​центре экрана. Как я могу это исправить?Можно ли отображать контекстное меню в позиции элемента в списке?

public class ManageActivity extends Activity { 
    private ListView mainListView ; 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.list_main);  
    // Find the ListView resource. 
    mainListView = (ListView) findViewById(R.id.mainListView); 
    mainListView.setAdapter(listAdapter);  
    registerForContextMenu(mainListView); 
} 
    @Override 
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo){ 
     menu.add(0, v.getId(), 0, "Edit"); 
     menu.add(0, v.getId(), 0, "Delete"); 
    } 
    @Override 
    public boolean onContextItemSelected(MenuItem item){ 
    AdapterView.AdapterContextMenuInfo acm = (AdapterContextMenuInfo) item.getMenuInfo(); 
    String audio_file_name = (String) mainListView.getItemAtPosition(acm.position); 

    if(item.getTitle()=="Edit") 
     Toast.makeText(getApplicationContext(), "Edit Clicked", Toast.LENGTH_LONG).show(); 
    if(item.getTitle()=="Delete") 
      Toast.makeText(getApplicationContext(), "Delete Clicked", Toast.LENGTH_LONG).show(); 
    return true; 
} 
+0

как долго экран? Я пытаюсь спросить: «Вы уверены?» – Elltz

+0

Я хочу сделать это в событии с длинным кликом. – user3051460

+0

хорошо, тогда я думаю, что вы вызываете свое контекстное меню на этом конкретном представлении, а не весь список – Elltz

ответ

3

Ответ да. Прекрасным примером является элемент gridview в приложении Google Play. В принципе, вы можете найти более подробную информацию здесь:

Android - Popup menu when list item view pressed?

1

ListView.setonItemLongClickListener(); то прикрепить popumenu к нему