У меня есть список. Я хочу щелкнуть элемент и показать контекстное меню в позиции позиции клика. В настоящее время я использую приведенный ниже код для отображения контекстного меню и выполнения некоторых действий при нажатии элемента. Он работает хорошо, но положение контекстного меню является автоматической настройкой в центре экрана. Как я могу это исправить?Можно ли отображать контекстное меню в позиции элемента в списке?
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;
}
как долго экран? Я пытаюсь спросить: «Вы уверены?» – Elltz
Я хочу сделать это в событии с длинным кликом. – user3051460
хорошо, тогда я думаю, что вы вызываете свое контекстное меню на этом конкретном представлении, а не весь список – Elltz