长按以开始在ListView中选择项目?

时间:2014-01-28 18:26:30

标签: android android-listview long-click

我的问题很简单:如何使用长按来让用户从ListView中选择项目?到目前为止,我只知道如何检测“短”点击并采取适当的措施。

另外,我想在所选项目上显示一个复选标记。怎么办?

3 个答案:

答案 0 :(得分:2)

简单:OnLongClickListener

然后您需要手动记住选择的内容。您需要通过更改通知列表,并在适配器的getView方法中执行某些操作。

使用Contextual ActionBar模式一次与所有项目进行交互是一个好习惯,请参阅here

答案 1 :(得分:2)

它与onClickListener的工作方式相同,而只是检查onLongClickListener。所以你有这种结构:

your_view.setOnLongClickListener(new View.OnLongClickListener() {
  public boolean onLongClick(View v) {
    ...
  }
});

如果你想显示一个复选标记,我认为最好的方法是定义你自己的行布局,你只需要在右侧定义行的内容CheckBox。这样,您可以指定新的布局,而不是传递ArrayAdapter某些Android布局,而不是:

your_adapter = new ArrayAdapter(context, R.layout.your_new_layout, initial_rows);

答案 2 :(得分:1)

https://stackoverflow.com/questions/12090394/i-cant-get-longclick-to-work-on-listactivity回答:

// Optional, added if done from ListActivity (or possibly ListFragment)
ListView lv = getListView();
// Set on this if overriding OnItemLongClickListener, otherwise use an anonymous inner function
lv.setOnItemLongClickListener(this);