0

我正在为一堆 Android 应用程序编写测试程序。我计划首先在屏幕上获取所有视图对象(不是 ViewGroup 的实例),然后针对它们触发事件(通过 robotium 或 sdk 提供的方法)。问题是,我不知道向这些视图对象注册了哪种 EventListener。我尝试对所有这些对象触发 CLICK,但是对于 LongCLICK、flip、doubletap等还有很多其他的事件处理程序。那么无论如何我可以在运行时为Android UI组件注册EventListener吗?

4

2 回答 2

0

您看过 Android SDK 附带的 Hierarchy Viewer 工具吗?我认为 Hierarchy Viewer 提供了这些信息。

于 2012-07-31T20:03:20.467 回答
0

嗨,大卫,您可以为按钮使用侦听器是 setOnClickListener()。但是,如果您想要 CheckBox 的侦听器,您可以使用 setOnCheckedChangeListener()/setOnClickListener() 来识别 CheckBox 的状态。同样,您必须根据您的要求/用例为 View 实现侦听器。如果要为按钮实现监听器,可以通过以下方式进行。

 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
   }
  }
于 2012-07-27T05:55:34.923 回答