Этот май тебе поможет
Ref: Установить прослушиватель длинного щелчка для просмотра списка
Ваш вопрос очень похож на этот , но похоже, что он не является точной копией.
Что вы заметили, так это то, что класс ListActivity не имеет переопределения метода специально для этого случая.
Чтобы добавить эту функцию в качестве переопределения метода, ваш класс должен реализовать интерфейс AdapterView.OnItemLongClickListener, а затем вы можете добавить переопределение метода onItemLongClick (), которое действует так же, как и переопределение метода onListItemClick (), которое у вас уже есть, но реагирует на длинные щелчки.
Просто убедитесь, что вы следуете инструкциям этого ответа , вы должны использовать android: longClickable = "true" в макете XML или вызвать listview.setLongClickable (true);
Ex
public class MainActivity extends ListActivity implements AdapterView.OnItemLongClickListener {
ListView listview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView listview = (ListView) findViewById(R.id.list);
listview.setLongClickable(true);
}
@Override
public boolean onItemLongClick(AdapterView<?> l, View v,
final int position, long id) {
Toast.makeText(this, "long clicked pos: " + position, Toast.LENGTH_LONG).show();
return true;
}
protected void onListItemClick(ListView l, View v, final int position, long id) {
super.onListItemClick(l, v, position, id);
Toast.makeText(this, "short clicked pos: " + position, Toast.LENGTH_LONG).show();
}
//....................