【问题标题】:onLongClickListener never get trigeredonLongClickListener 永远不会被触发
【发布时间】:2011-09-30 14:43:36
【问题描述】:

我有一个这样定义的自定义列表视图

public class DDListView extends ListView implements OnScrollChangedListener {

比我创建一个名为 mExampleList 的实例,我设置了 onLongClickListener 但它从未被调用,我的问题在哪里?

mExampleList.setOnLongClickListener(new OnLongClickListener() {

        public boolean onLongClick(View v) {
            // TODO Auto-generated method stub
            Log.v("vvv", "sdfsdf");
            return false;
        }
    });

【问题讨论】:

    标签: android listview onlongclicklistener


    【解决方案1】:

    我认为您想使用 OnItemLongClickListener 而不是 OnClickListener

    【讨论】:

    • 同一个OnLongItemClickListener
    • 没有 OnLongItemClickListener
    • 1.列表视图只有 ListView.setOnLongClickListener(View.OnLongClickListener l)! 2. ListView 没有名为 setOnLongItemClickListener 的方法 3. 添加 LongItemCLick 的最简单方法/hack 是 registerForContextMenu ! 编辑: 在您的链接中,您指向 AdapterView.OnItemLongClickListener ...问题:ListView 是否实现了它?
    • @Selvin 是的,确实如此。查看文档。我有一个使用 OnItemLongClickListener 的应用程序。两次。而且,我认为使用 OnItemClickListener 最简单的方法是使用 OnItemClickListener。
    【解决方案2】:

    Mmmmm,你是想让所有的 ListView 都可以 longclckeable 吗?

    一些提示:

    -先试试看普通的 OnClick 是否被触发;

    -试试看有没有setClickeable(true);就可以了;

    -尝试查看您是否真的在尝试这样做,而不是列表中项目的通常 onItemClick() (这样做@override 函数:
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {}

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-12
      • 2021-02-01
      • 1970-01-01
      • 2019-08-28
      • 1970-01-01
      • 2018-09-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多