如何在运行时为Android UI组件获取注册的EventListener
我正在为一堆Android应用程序编写测试程序。我计划首先在屏幕上获取所有视图对象(不是ViewGroup的实例),并针对它们触发事件(通过robotium或sdk提供的方法)。问题是,我不知道哪些类型的EventListener注册到这些视图对象。我尝试对所有这些对象启动CLICK,但是对于LongCLICK、flip和doubletap,还有很多其他事件处理程序。那么,在运行时,我是否可以为Android UI组件注册EventListener?您好,David,您可以使用listener作为按钮设置ClickListener()。但是,如果您想为复选框使用listener,可以使用setOnCheckedChangeListener()/setOnClickListener()来标识复选框的状态。同样,您必须根据您的需求/用例实现listener for View。 如果您想实现按钮的侦听器,可以用以下方法实现如何在运行时为Android UI组件获取注册的EventListener,android,event-listener,android-testing,Android,Event Listener,Android Testing,我正在为一堆Android应用程序编写测试程序。我计划首先在屏幕上获取所有视图对象(不是ViewGroup的实例),并针对它们触发事件(通过robotium或sdk提供的方法)。问题是,我不知道哪些类型的EventListener注册到这些视图对象。我尝试对所有这些对象启动CLICK,但是对于LongCLICK、flip和doubletap,还有很多其他事件处理程序。那么,在运行时,我是否可以为Android UI组件注册EventListener?您好,David,您可以使用listener作
Button b= (Button)findViewById(R.id.yourBtnName);
b.setOnClickListener(BtnListener);
private OnClickListener BtnListener = new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
// Here you can perform your stuff
}
}
您看过Android SDK附带的Hierarchy Viewer工具吗?我认为层次查看器提供了这些信息 嗨!Akshay,我想做的是在运行时检查,例如,在测试程序中,某个视图是否注册了侦听器。