select 带有 uiautomator 的旋转器元素
select a spinner element with uiautomator
我尝试了多种选择。都不适合我。是否可以使用 uiautomator select 微调器的一个元素?
代码示例:
UiObject spinner = mDevice.findObject(new UiSelector().className("android.widget.Spinner")
.instance(0));
try {
Integer cnt = spinner.getChildCount();
if (cnt > 0) {
UiObject item = spinner.getChild(new UiSelector().index(cnt-1));
item.click();
}
} catch (UiObjectNotFoundException e){}
此代码段将 select 来自 Spinner 的项目
(new UiScrollable(new UiSelector().resourceId("com.dtmilano.android.demoapplication:id/spinner").index(1).packageName("com.dtmilano.android.demoapplication"))).click();
List<UiObject2> children = mDevice.findObjects(By.res("android:id/text1").pkg("com.dtmilano.android.demoapplication"));
for (UiObject2 uio2 : children) {
if ("New Zealand".equals(uio2.getText())) {
uio2.click();
break;
}
}
它使用的示例 Activity 带有显示国家/地区的 Spinner
第一部分由Enumerate Children feature of CulebraTester自动生成。
一个可以select By.res
,但是没有参数packageName
(也就是android
):
UiObject2 spinner = mDevice.findObject(By.res(packageName, "spinner"));
spinner.click();
sleep(2000);
List<UiObject2> items = mDevice.findObjects(By.res("android:id/text1"));
items.get(1).click(500);
我尝试了多种选择。都不适合我。是否可以使用 uiautomator select 微调器的一个元素?
代码示例:
UiObject spinner = mDevice.findObject(new UiSelector().className("android.widget.Spinner")
.instance(0));
try {
Integer cnt = spinner.getChildCount();
if (cnt > 0) {
UiObject item = spinner.getChild(new UiSelector().index(cnt-1));
item.click();
}
} catch (UiObjectNotFoundException e){}
此代码段将 select 来自 Spinner 的项目
(new UiScrollable(new UiSelector().resourceId("com.dtmilano.android.demoapplication:id/spinner").index(1).packageName("com.dtmilano.android.demoapplication"))).click();
List<UiObject2> children = mDevice.findObjects(By.res("android:id/text1").pkg("com.dtmilano.android.demoapplication"));
for (UiObject2 uio2 : children) {
if ("New Zealand".equals(uio2.getText())) {
uio2.click();
break;
}
}
它使用的示例 Activity 带有显示国家/地区的 Spinner
第一部分由Enumerate Children feature of CulebraTester自动生成。
一个可以select By.res
,但是没有参数packageName
(也就是android
):
UiObject2 spinner = mDevice.findObject(By.res(packageName, "spinner"));
spinner.click();
sleep(2000);
List<UiObject2> items = mDevice.findObjects(By.res("android:id/text1"));
items.get(1).click(500);