リストビュー項目を操作する際にコードを書き込もうとしているときにAmbiguousViewMatcherException例外が発生します。シナリオは次のとおりです。Espresso AmbiguousViewMatcherException
私は、リストのほぼ250行を持つ2つのビュー
- のTextView
- buttonView
とリストビューを持っています。すべてのボタンにはテキスト「予約」または「キャンセル」があります。彼らは順番にシャッフルされています。エスプレッソにリストの最初の「予約」ボタンをクリックさせたい。私は多くのシナリオを試したが、まだこれを修正できなかった。誰か助けてください。続き
は今
onView(withId(R.id.List))
.check(matches(withAdaptedData(withItemContent("Book it"))));
私のコードです///////////////////////////////// ///////////////////////
private static Matcher<View> withAdaptedData(final Matcher<Object> dataMatcher) {
return new TypeSafeMatcher<View>() {
@Override
public void describeTo(Description description) {
description.appendText("with class name: ");
dataMatcher.describeTo(description);
}
@Override
public boolean matchesSafely(View view) {
if (!(view instanceof AdapterView)) {
return false;
}
@SuppressWarnings("rawtypes")
Adapter adapter = ((AdapterView) view).getAdapter();
for (int i = 0; i < adapter.getCount(); i++) {
if (dataMatcher.matches(adapter.getItem(i))) {
return true;
}
}
return false;
}
};
}
//////////////////// ///////////////////////
android.support。 test.espresso.AmbiguousViewMatcherException: 'with ID: com.bottegasol。 com.migym.EmpireSportFit:id/List 'は階層内の複数の ビューに一致します。問題のビューには、 '**** MATCHES ****'と表示されます。ここで