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

Java 在Android中以编程方式调用侦听器调用,java,android,listener,onclicklistener,Java,Android,Listener,Onclicklistener,我正在玩Android,我想知道是否有任何方法可以通过编程方式调用侦听器调用,例如,拥有一个onClick()侦听器,并在创建活动时不触摸屏幕就调用此侦听器。无法获取设置OnClickListener。因此,您需要存储它并直接调用OnClickListener OnClickListener store = new OnClickListener() {/*...*/}; view.setOnClickListener(store); store.onClick(view); 虽然这是可能的,

我正在玩Android,我想知道是否有任何方法可以通过编程方式调用侦听器调用,例如,拥有一个
onClick()
侦听器,并在创建活动时不触摸屏幕就调用此侦听器。

无法获取设置
OnClickListener
。因此,您需要存储它并直接调用
OnClickListener

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

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


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

从未尝试过,但在将
clickListener
分配给对象(例如
按钮
)后,调用
onCreate
方法
myButton.performClick()

OnClickListener store = new OnClickListener() {/*...*/};
view.setOnClickListener(store);
store.onClick(view);
Android文档:

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+1很好的技巧,但是在调用
public boolean performClick()