2017-02-11 7 views
0

Я пробовал несколько вариантов. Ни для меня не работало. Можно ли выбрать элемент счетчика, используя uiautomator? Примервыберите элемент прядильщика с uiautomator

Код:

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){} 
+0

Вместо использования автоматизации пользовательского интерфейса вам необходимо использовать библиотеку эспрессо: http://stackoverflow.com/questions/31420839/android-espresso-check-selected-spinner-text –

ответ

1

Этот фрагмент кода будет выбрать элемент из 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; 
     } 
    } 

он использует образец активность с Spinner указанием стран

enter image description here

первая часть автоматически генерируется Enumerate Children особенность CulebraTester.

+0

спасибо Диего, вы знаете случайно что произойдет, если UIObject2 не существует? В отличие от UIObject, у которого нет 'exist()' method – cur4so

+0

Выдает исключение –

 Смежные вопросы

  • Нет связанных вопросов^_^