AS界面有相同对象的定位方式

1,找到父类 2,通过getChildAt方式找到子类 3.定位

示例代码如下:

ListView allNews = (ListView)solo.getView("net.oschina.app:id/listView");

Viewlist = allNews.getChildAt(2);

TextView Title1 = (TextView) list.findViewById(R.id.tv_title);  //有源码的情况下的调用

TextView Title2 = (TextView) list.findViewById(getID("net.oschina.app:id/tv_title"));  //无源码的情况下的调用

具体方式

1,选中getview,按ctrl+鼠标左键进入源码,找到实现方法(那三行就是了)

2,新建个方法,黏贴找到的源码,并修改instruction为getinstruction。

private intgetID(String id) {  //方法名可以自行命名

Context targetContext =this.getInstrumentation().getTargetContext();

StringpackageName= targetContext.getPackageName();

intviewId = targetContext.getResources().getIdentifier(id,"id",packageName);

return viewId;

}

3返回viewId)

你可能感兴趣的:(AS界面有相同对象的定位方式)