关于android:创建自己的OnItemClickListener

Create own OnItemClickListener

我认为问题说明了一切:我想为 ListView 创建一个自定义 OnItemClickListener。我想添加和更改 OnItemClickListener 的参数,但是如果我单击 ListView 中的项目,如何创建自己的参数?

相关讨论

  • stackoverflow.com/questions/15222129/…我认为它可以帮助你

你首先创建一个接口,然后实现一个方法,在你的自定义类中设置监听器,然后已经创建一个主类来监听你的自定义事件

接口:

public interface OnCustomEventListener{
  public void onEvent();   //can have parameters
}

方法在你的例如适配器:
私人 OnCustomEventListener mListener; //字段

//setter method
public void setCustomEventListener(OnCustomEventListener eventListener) {
   this.mListener=eventListener;
}

听众:

someObjectYouWantToHaveYourCustomListenerToBeAssignedFor.setCustomEventListener(new OnCustomEventListener(){
    public void onEvent(){
    //do whatever you want to do when the event is performed.
    }
});

如何调用,例如从您的适配器:

if(this.mListener!=null){
   this.mListener.onEvent();
}

附言您的自定义侦听器可能有任意数量的参数

来源

相关讨论

  • 谢谢你,但有一件事我不明白。为什么 OnCustomEventListener 知道如果我单击一个项目它应该调用?
  • 因为 OnCustomEventListener 充当回调
  • 我在我的类中实现了这三个步骤,但我无法收到任何 ClickEvents
  • @Cilenco 你什么时候打电话: this.mListener.onEvent();
  • 我做了一个 extands ListView 的类。我把接口 OnCustomEventListener 和方法 setCustomEventListener(OnCustomEventListener eventListener) 放在那里。在我的活动中,我在里面调用 myListView.setCustomEventListener(new ...) 事件。
  • @Cilenco您可以在自定义类中使用 Log.i(...)extends ListView 在应该触发事件的那部分中,以查看它是否实际被触发
  • 我得到了它的工作一点点。该事件在活动开始时触发,但如果我单击一个项目则不会...
  • @Cilenco 不要忘记,每次您希望主类知道操作已启动时,您都必须调用`this.mListener.onEvent();`
  • 我认为我的问题是我必须从 onTouchEvent 方法触发事件,对吗?如何在这种方法中检查点击?还是我误解了什么?
  • @Cilenco 好吧,是的,我相信是这样,我不知道您的代码是什么样的,所以我不确定,但是是的,您应该在某些事件发生时触发事件。触发事件:this.mListener.onEvent();

以上是关于android:创建自己的OnItemClickListener的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>