我认为Android Studio将在生成签名apk之前运行测试.
但AS并没有为我做到这一点.在打包我的apk之前不好,我需要自己运行测试.
我不确定dependsOn或其他方式是否可以帮助我.我不确定天气我的build.gradle有错误.
gradle中的一些相关代码可能是这样的:
defaultConfig {
applicationId "com.xx.xx"
versionCode getDefaultVersionCode()
minSdkVersion 19
targetSdkVersion 19
}
dependencies {
testCompile 'org.robolectric:robolectric:3.0'
testCompile 'junit:junit:4.12'
}
Run Code Online (Sandbox Code Playgroud)
我没有写testOption.
我的目录是这样的(前面的内容是包名):
要包含的布局是这样的,child.xml:
<layout>
<data>
<variable
name="click"
type=""> <!-- What type should be here? -->
</data>
<LinearLayout>
<View onClick="@{click}"/>
</LinearLayout>
</layout>
Run Code Online (Sandbox Code Playgroud)
要包含此内容,parent.xml:
<layout>
<data>
<variable
name="viewModel"
type="ViewModel"/>
</data>
<LinearLayout>
<View onClick="()->viewModel.click1()"/>
<include
bind:click="()->viewModel.click2()"/>
layout="@layout/child"/>
</LinearLayout>
</layout>
Run Code Online (Sandbox Code Playgroud)
那么如何将 clickEvent 仅传递给 child.xml。由于不同的 parent.xml 具有不同的 ViewModel,我认为我不应该将 viewModel 传递给 child.xml。但我不知道如何将方法传递给 child.xml。
我现在正在做的解决方案是 Java 文件中的 setOnClickListener。我怀疑 dataBinding 是否可以使它更容易。