3

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

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

4

3 回答 3

2

在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);
于 2014-01-28T18:32:18.557 回答
2

简单:OnLongClickListener

然后你需要手动记住选择了什么。您需要从更改中通知列表并在适配器的 getView 方法中执行某些操作。

使用 Contextual ActionBar 模式一次与所有项目交互是一个很好的做法,请参见此处

于 2014-01-28T18:32:25.573 回答
2

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

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

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

your_adapter = new ArrayAdapter(context, R.layout.your_new_layout, initial_rows);
于 2014-01-28T18:33:31.150 回答