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