我正在玩Android,我想知道是否有任何方法可以以编程方式调用侦听器,例如,在onClick()
创建活动时有一个侦听器并调用对该侦听器的调用,而无需触摸屏幕。
问问题
7143 次
3 回答
6
没有办法得到集合OnClickListener
。所以你需要存储它并OnClickListener
直接调用你的。
OnClickListener store = new OnClickListener() {/*...*/};
view.setOnClickListener(store);
store.onClick(view);
于 2013-04-15T08:14:29.710 回答
6
从未尝试过,但是在将 a 分配clickListener
给您的对象(例如 a Button
)之后,调用您的onCreate
方法myButton.performClick()
。
安卓文档:
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.
于 2013-04-15T08:18:39.017 回答
0
尽管这是可能的,但我实际上建议不要这样做。应该从 UI 调用侦听器,但实际上应该直接调用它背后的业务逻辑。这将在两层之间提供“关注点分离”。
您应该调用侦听器在其onClick
方法中调用的代码,而不是onClick
直接调用。
于 2013-04-15T08:16:05.527 回答