要获取RecyclerView特定位置的项,可以使用Espresso测试框架提供的RecyclerViewActions类来执行操作。下面是一个示例代码,展示如何获取RecyclerView中特定位置的项:
import androidx.recyclerview.widget.RecyclerView;
import androidx.test.espresso.Espresso;
import androidx.test.espresso.contrib.RecyclerViewActions;
import androidx.test.espresso.matcher.ViewMatchers;
import org.hamcrest.Matchers;
import org.junit.Test;
import static androidx.test.espresso.matcher.ViewMatchers.withId;
public class RecyclerViewTest {
@Test
public void testGetItemFromRecyclerView() {
// 获取RecyclerView的引用
RecyclerView recyclerView = getActivity().findViewById(R.id.recyclerView);
// 滚动到指定位置
Espresso.onView(withId(R.id.recyclerView)).perform(RecyclerViewActions.scrollToPosition(5));
// 获取指定位置的项
Espresso.onView(ViewMatchers.withId(R.id.recyclerView))
.perform(RecyclerViewActions.actionOnItemAtPosition(5, ViewActions.click()));
// 在这里执行具体的操作
// ...
}
}
在上面的示例中,首先获取RecyclerView的引用,然后使用RecyclerViewActions.scrollToPosition()
方法将RecyclerView滚动到指定位置。然后,使用RecyclerViewActions.actionOnItemAtPosition()
方法来执行点击操作并获取特定位置的项。在actionOnItemAtPosition()
方法中,第一个参数是要点击的项的位置,第二个参数是要执行的操作。
请注意,上述示例中使用的R.id.recyclerView
是一个示例RecyclerView的资源ID,你需要根据你的应用程序的布局文件和资源ID进行相应的更改。
上一篇:Android:Espresso花费太多时间来进行第一个检查或执行。
下一篇:Android:Espresso:无法使用WireMock运行Espresso测试 - org.gradle.execution.MultipleBuildFailures:构建完成,有1个失败。