Intereting Posts
Карты андроидов автоматически вращаются Отображение динамического текста в Android-представлении Не удалось выполнить команду: tar xzf android-sdk_r20-linux.tgz Как поместить несколько размеров виджетов в один apk? Как изменить андроид неопределенный цвет ProgressBar? Intent – если активность запущена, переведите ее вперед, иначе запустите новую (от уведомления) Loop для загрузки списка изображений по одному Удаление OnClickListener в представлении удаляет все события касания на представлениях позади Возобновите верхнюю активность, а не запустите Launcher Activity AudioRecord – как получить данные в буфер? Устройство отключается в случайном порядке (и появляется несколько раз в автономном режиме) в Eclipse – исправления? Как заставить Bitmap сжимать без изменения размер растрового изображения? Как передать параметры в Android Intent в новой схеме на хром? Уровень языка Java 8 (Retrolambda) на AndroidStudio 4+? Исключение Java.lang.Runtime: Сбой при съемке?

Как получить представление из эспрессо, чтобы перейти в IdlingResource?

У меня по существу есть пользовательский IdlingResource, который принимает аргумент конструктора. Я не могу найти нигде, что действительно говорит о том, как его реализовать.

Я пытаюсь использовать этот ответ: https://stackoverflow.com/a/32763454/1193321

Как вы можете видеть, требуется ViewPager, но когда я регистрирую IdlingResource в своем тестовом классе, я не уверен, как я могу получить свое мнение.

Я пробовал findViewById (), и я попытался получить текущую активность, а затем вызвал findViewById (), но не повезло. Кто-нибудь знает, что делать в этом сценарии?

Solutions Collecting From Web of "Как получить представление из эспрессо, чтобы перейти в IdlingResource?"

Догадаться. Чтобы получить представление, чтобы перейти в ресурс холостого хода, все, что вам нужно сделать, это взять переменную-член вашей ActivityTestRule

Например:

@Rule public ActivityTestRule<MainActivity> activityTestRule = new ActivityTestRule<>( MainActivity.class); 

А затем просто вызовите getActivity().findViewById(R.id.viewId)

Таким образом, конечный результат:

 activityTestRule.getActivity().findViewById(R.id.viewId); 

Я еще не использовал IdilingResources в Espresso , но вы видели эти статьи:

  • Espresso: Пользовательский ресурс холостого хода Chiuki
  • Подождите … глубокое погружение в Ресурсы эндшпо

Также ознакомьтесь с официальными документами Android: Ресурсы для холостого хода (ссылка)

Чтобы ответить на ваш вопрос,

  • Лучший способ сделать это – передать экземпляр одного из представлений в конструктор класса. Проверка: вызов findViewById () извне активности

  • Другой способ – получить представление по контексту. Проверьте андроид – Как получить представление из контекста?

Вот пример, взятый из ссылки выше:

Начиная с контекста, корневой вид связанной деятельности может быть

 View rootView = ((Activity)_context).Window.DecorView.FindViewById(Android.Resource.Id.Content); 

В Raw Android это выглядит примерно так:

 View rootView = ((Activity)mContext).getWindow().getDecorView().findViewById(android.R.id.content) 

Затем просто вызовите findViewById на этом

 View v = rootView.findViewById(R.id.your_view_id); 

Это также может быть полезно: как вызвать getResources () из класса, который не имеет контекста?

Надеюсь, что это поможет