0

长按手势在 ListFragment 与AdapterView.OnItemLongClickListener结合使用时不起作用。我正在尝试在即将到来的单击时实现长按选择和连续选择等 GMail。

ListFragment 声明如下:

public class VacationListFragment extends ListFragment implements View.OnClickListener, 
    ActionMode.Callback, AdapterView.OnItemClickListener, 
    AdapterView.OnItemLongClickListener, AbsListView.MultiChoiceModeListener, {

ListFragment 使用 SimpleCursorAdapter 从 DB 加载数据,如下所示:

mAdapter = new SimpleCursorAdapter(getActivity(), R.layout.vacationlist_row_item, null, 
                  fromColumns, toView, 0);
mVacationListView.setAdapter(mAdapter);

当前情景:

在单个 CAB 显示提供的菜单(删除)并且操作正在运行。截图粘贴在下面:

截图在这里

我相信我们非常接近解决方案,我们将不胜感激。如果我不是教学法,请随意 ping。谢谢。

4

4 回答 4

0

样本 :

textView.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                /*do action */
                return false;
            }
        });
于 2016-03-15T15:02:32.913 回答
0

放入mVacationListView.setOnLongClickListener(this)您的代码中。然后,您将能够使用以下方法处理点击:

@Override
public boolean onLongClick(View v) {
    return false;
}
于 2016-03-15T15:44:00.000 回答
0

我认为您希望在您的片段中单击列表项。请尝试以下代码。

  1. 在您的适配器中添加此代码。

    mVacationListView.setOnLongClickListener(your fragment instance);
    
  2. 处理片段中的覆盖方法。

    @Override
    public boolean onLongClick(View v) {
        return false;
    }
    

如果您这样做,那么您的列表项长单击侦听器将在您的片段中处理。

于 2016-03-15T18:08:28.463 回答
0

我可以用下面的代码示例解决这个问题。这是ListFragment与LoaderCallbacksMultiChoiceModeListener结合使用的多选列表的好例子。

https://github.com/springbyexample/spring-by-example/blob/master/android/android-client/src/main/java/ua/com/springbyexample/fragment/MainListFragment.java

于 2016-05-11T05:52:58.610 回答