我正在尝试TouchUtils.clickView()
在我的应用程序测试中使用导航到另一个屏幕。调用clickView
总是点击错误的视图:
public void navigateToWorkout(int i) {
mMonitor = mWorkout.setMonitor(mInstrumentation);
final LinearLayout clickme = (LinearLayout) mWorkouts.getChildAt(i);
pc.runOnUiThread(
new Runnable(){
public void run(){
clickme.setBackgroundColor(Color.CYAN);
}
}
);
try { Thread.sleep(500); } catch (Exception e) {}
TouchUtils.clickView(MyApplicationTest.this, clickme);
mWorkout.getFromMonitor(mMonitor);
}
它将正确的项目 ( LinearLayout
)变为ListView
青色,然后半秒后调用以在具有焦点clickView
的对象上生成单击事件(由 中的可见闪光指示)。EditText
EditText
如果我只是在模拟器中单击新的 CYANedListView
项目,测试将再次开始工作,直到下一次尝试通过单击ListView
项目导航到另一个屏幕。然后,它再次单击EditText
焦点并卡住,除非我手动单击该项目。
自从我将这个项目从我已经工作了几个月的旧桌面导入到我的新笔记本电脑上以来,这一直没有奏效。我希望我可以将两者并排比较,但是旧台式机死得可怕,这促使我改用笔记本电脑进行开发。
我可以为处理程序或我试图调用的视图提供更多代码,OnClick
但如果我手动添加几下,应用程序就可以工作;我所有的麻烦都与考试有关。我非常坚持尝试完成这项工作,并愿意尝试任何建议。