2017-02-10 40 views
5

mam sposób, gdzie i kliknij pozycję mojego recyclerView:Sprawdź tekst na pozycji recyklera

Espresso.onView(ViewMatchers.withId(R.id.recyclerView)) 
     .perform(RecyclerViewActions.actionOnItemAtPosition<CurrencySelectorItemHolder>(1, ViewActions.click())) 

Ale jak można po prostu sprawdzić na stanowisku mojego tekstu na przykład?

+0

Czy to znaczy, że chce sprawdzić, czy tekst wyświetlany przez pewien sprzęcie? –

+0

Tak, ale w recyklerzeWidok i na określonej pozycji. – Inkognito

Odpowiedz

5

Change "cokolwiek" do tekstu, który ma:

Espresso.onView(withId(R.id.recyclerView)) 
     .perform(RecyclerViewActions.actionOnItem(
       hasDescendant(withText("whatever")), click())); 

UPDATE: kod do sprawdzania tekstu przez stanowisko:

onView(withRecyclerView(R.id.recyclerView).atPosition(3)) 
    .check(matches(hasDescendant(withText("whatever")))); 

public static RecyclerViewMatcher withRecyclerView(final int recyclerViewId) { 
    return new RecyclerViewMatcher(recyclerViewId); 
} 

RecyclerViewMatcher.java

+0

Przepraszam, ale mam na myśli TYLKO sprawdzanie tekstu, nie potrzebuję kliknięcia tego elementu. – Inkognito

+0

@Inkognito: Zaktualizowałem swoją odpowiedź. –

+0

withRecyclerView - nierozwiązane odniesienie. Muszę stworzyć tę metodę dodatkowości? – Inkognito

-1

jeśli chcesz uzyskać pozycję tekstu na której kliknięciu można użyć tej metody w onClickListener adapter

object.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 




       if (object.isChecked() == true) { 
        Log.d("1", "onClick: checked " + getAdapterPosition()); 
        int position = getAdapterPosition(); 


        Class yourObject = yourObject.get(position); 

        yourObject.setChecked(true); 
        selectedyourObjectList.add(todo); 

       } 
       else { 
        if(getAdapterPosition()<selectedyourObjectList.size()) { 
         Log.d("1", "onClick: un checked " + getAdapterPosition()); 
         selectedyourObjectList.remove(getAdapterPosition()); 
         yourObjectList.get(getAdapterPosition()).setChecked(false); 
        } 
       } 
      } 
     }); 

można zapisać go w dowolnej zmiennej całkowitej, a następnie można sprawdzić tekst na tej pozycji

Nadzieja to pomaga

+0

To są testy espresso. – Morozov