如何在Android中使用OnItemLongClickListener而不使用setOnItemLongClickListener?

时间:2011-08-23 15:54:15

标签: java android

我正在尝试在Android上使用OnItemLongClickListener作为listView。添加到onCreate方法时,此代码可以正常工作。

mContactList.setOnItemLongClickListener(new OnItemLongClickListener() {
        public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
            Log.e("MyApp", "get onItem Click position= " + position);
            return false;
        }
    });

但是,当我尝试实现OnItemLongClickListener接口并在类中使用此方法时:

@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id)   {
    Log.e("MyApp", "get onItem Click position= " + position);
    return false;
}
没有任何反应。我错过了什么?

2 个答案:

答案 0 :(得分:5)

您是否将对象注册为侦听器,例如。 setOnItemLongClickListener(this)

答案 1 :(得分:3)

您始终必须设置setOnItemLongClickListener。 如果将onClick侦听器解压缩到另一个类,则必须将此OnItemLongClickListener设置为listview。

e.g。

mContactList.setOnItemLongClickListener(new MyClassOnLogItemClickListener());

或如果您在同一个班级,请使用this注册。