gpt4 book ai didi

android - Espresso父 View 点击

转载 作者:行者123 更新时间:2023-11-29 01:14:44 24 4
gpt4 key购买 nike

 <LinearLayout [...]
<ExpandableListView
android:id="@+id/options"
android:layout_width="match_parent"
android:groupIndicator="@null"
android:layout_height="wrap_content"
android:background="@null"
android:divider="@android:color/white"
android:scrollbarSize="0dp"
tools:visibility="gone" />
</LinearLayout>

如何使用 espresso 单击 ExpandableListView 上的子元素,其中“blahblahblah”是我的项目 View ID,如下例所示。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="45dp"
android:id="@+id/blahblahblah"
android:orientation="vertical">

最佳答案

你应该使用 Espresso.onData 方法。确切的方法取决于您希望如何指定要选择 ExpandableListView 的哪一项。

通常您会使用这两种方法中的一种:

1。在您的适配器中匹配data:

假设您的 ExpandableListAdapter 数据基于 MyData 对象:

public class ExpandableListViewAdapter extends BaseExpandableListAdapter {

List<MyData> data = new ArrayList();

//... all the other stuff you need for it to work

}

您将使用 Espresso.onData 来匹配所需的记录(例如通过匹配其 toString() 方法):

onData(hasToString(containsString("example"))
.inAdapterView(withId(R.id.options))
.onChildView(withId(R.id.blablabla))
.perform(click());

(特定 MyData 对象的 toString() 必须包含 String “example”)

2。匹配 Adapter 中的 position:

无论您的子对象与什么数据相关联,都匹配 ListView 中的 position(在示例中 position == 0):

onData(anything())
.inAdapterView(withId(R.id.options))
.atPosition(0)
.onChildView(withId(R.id.blablabla))
.perform(click());

关于android - Espresso父 View 点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40595404/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com