在Android中以编程方式调用侦听器调用

时间:2013-04-15 08:10:34

标签: java android listener onclicklistener

我正在使用Android,我想知道是否有任何方式以编程方式调用侦听器调用,例如,拥有onClick()侦听器并在不触摸屏幕的情况下调用此侦听器的调用活动已创建。

3 个答案:

答案 0 :(得分:6)

从未尝试过,但在为对象指定clickListener后(例如Button),请使用onCreate方法myButton.performClick()

Android doc:

public boolean performClick ()

Added in API level 1
Call this view's OnClickListener, if it is defined. Performs 
all normal actions associated with clicking: reporting accessibility event, 
playing a sound, etc.

Returns
True there was an assigned OnClickListener that was called, 
false otherwise is returned.

答案 1 :(得分:5)

无法获得集合OnClickListener。因此,您需要存储它并直接致电OnClickListener

OnClickListener store = new OnClickListener() {/*...*/};
view.setOnClickListener(store);
store.onClick(view);

答案 2 :(得分:0)

虽然这是可能的,但我实际上是建议反对它。应该从UI调用监听器,但其背后的业务逻辑应该是直接调用的。这将在两个层之间提供“关注点分离”。

您应该调用侦听器在其onClick方法中调用的代码,而不是直接调用onClick