本文介绍了错误时使用的任何东西();在Android的需要测试不兼容的类型:匹配器<视图>发现:匹配器<对象>的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我运行code初级讲座,并在任何回报()遇到错误;
I run the code belows and got error at return anything();
error: incompatible types
required: Matcher <View>
found: Matcher <Object>
/**
* Perform action of waiting until UI thread is free. <p/> E.g.: onView(isRoot()).perform(waitUntilIdle());
* @return
*/
public static ViewAction waitUntilIdle(){
return new ViewAction(){
@Override public Matcher<View> getConstraints(){
return anything();
}
@Override public String getDescription(){
return "wait until UI thread is free";
}
@Override public void perform( final UiController uiController, final View view){
uiController.loopMainThreadUntilIdle();
}
}
;
}
任何想法?
推荐答案
什么()
不是一个通用的方法,所以你总是会得到一个匹配器&LT;对象&gt;
。
anything()
is not a generic method, so you will always get a Matcher<Object>
.
在内部什么()
使用 IsAnything
类。你可以让你自己的 Anyview的()
方法返回一个匹配器&LT;视图&gt;
Internally anything()
uses the IsAnything
class. You can make your own anyView()
method to return a Matcher<View>
.
public static ViewAction waitUntilIdle(){
return new ViewAction(){
@Override public Matcher<View> getConstraints(){
return anyView();
}
@NonNull
private Matcher<View> anyView() {
return new IsAnything<>();
}
@Override public String getDescription(){
return "wait until UI thread is free";
}
@Override public void perform( final UiController uiController, final View view){
uiController.loopMainThreadUntilIdle();
}
}
;
}
这篇关于错误时使用的任何东西();在Android的需要测试不兼容的类型:匹配器&LT;视图&gt;发现:匹配器&LT;对象&gt;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!