OnItemLongClickListener()不会导致ListFragment中的日志点击手势

时间:2016-03-15 14:52:02

标签: android android-listfragment contextual-action-bar long-press uilongpressgesturerecogni

长按手势无法在ListFragment中与 AdapterView.OnItemLongClickListener 结合使用。我试图在即将到来的单击中选择长按选择和连续选择来实现GMail。

ListFragment声明如下:

foreach (var item in myDictionary)
{
    var key = item.Key;
    var value = item.Value

    // You could then use `key` if you are unsure of what
    // items are in the dictionary
}

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

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

当前情况:

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

Screenshot here

我相信我们非常接近解决方案,任何意见都会受到赞赏。 如果我没有教学,请随意ping。感谢。

4 个答案:

答案 0 :(得分:0)

示例:

textView.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                /*do action */
                return false;
            }
        });

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

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

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

    @Override
    public boolean onLongClick(View v) {
        return false;
    }
    
  3. 如果您喜欢这样,那么您的列表项长按侦听器将处理您的片段。

答案 3 :(得分:0)

我可以使用下面的代码示例解决问题。它是 ListFragment 的多选列表与 LoaderCallbacks MultiChoiceModeListener 一起使用的好例子。

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