Как правило, вы связываете длинный щелчок по представлению списка с контекстным меню, что можно сделать, зарегистрировав listView с помощью Activity.registerForContextMenu(View view)
, чтобы обеспечить более согласованный пользовательский интерфейс с другими приложениями для Android.
и затем переопределите метод onContextItemSelected в вашем приложении следующим образом:
@Override
public void onCreate(Bundle savedInstanceState) {
listView = (ListView) findViewById(R.id.your_list_view);
registerForContextMenu(listView);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle(getString(R.string.menu_context_title));
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.your_context_menu, menu);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
switch (item.getItemId()) {
case R.id.some_item:
// do something useful
return true;
default:
return super.onContextItemSelected(item);
}
Позиция в списке также сохраняется в info.id
Если вы просто хотите захватить длинныйЯ думаю, что то, что предлагает Сниколас, сработает.