我正在尝试在选择卡时更改 Android Leanback Library中ImageCardView上infoArea的背景颜色.目前我尝试过的是改变OnItemViewSelectedListener中的背景.这会更改背景,但不会清除以前选择的项目.
private final class ItemViewSelectedListener implements OnItemViewSelectedListener {
@Override
public void onItemSelected(Presenter.ViewHolder itemViewHolder, Object item,
RowPresenter.ViewHolder rowViewHolder, Row row) {
if (item instanceof Video) {
mBackgroundURI = ((Video) item).getBackgroundImageURI();
startBackgroundTimer();
((ImageCardView) itemViewHolder.view)
.setInfoAreaBackgroundColor(getResources().getColor(R.color.dark_blue_grey));
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想实现这样的目标:

有任何想法吗?谢谢.
我有两个应用程序通过意图相互交互.我想,以验证假设应用一个正确调用startActivity的应用B没有实际启动应用B.我尝试了各种组合,intendingEspresso仍然通过意图启动App B,而不仅仅是将其删除.这会导致其余测试失败,因为App B阻止了UI .有任何想法吗?
@RunWith( AndroidJUnit4.class )
@LargeTest
public class MyActivityUiIntentsTest
{
@Rule
public IntentsTestRule<MyActivity> activityRule =
new IntentsTestRule<>( MyActivity.class, true, false );
@Test
public void shouldStartOtherActivityWhenButtonClicked ()
{
Intents.init();
intending( toPackage( "my.package" ) )
.respondWith( new ActivityResult( Activity.RESULT_OK, null ) );
activityRule.launchActivity( new Intent() );
onView( withId( R.id.viewId ) ).perform( click() );
intended( hasComponent( hasShortClassName( "the.other.class.name" ) ) );
Intents.release();
}
}
Run Code Online (Sandbox Code Playgroud)
更新:代码onClick …
我正在使用 spring-security-core 插件,并在/views/login/denied.gsp下创建了一个自定义的Denied.gsp页面。如果我直接通过/login/denied进入该页面,我可以看到布局已应用。但是,如果我尝试访问受限页面并且被路由到拒绝的.gsp,它只会呈现确切的 html,而不处理布局。
<html><head>
<title>Denied</title>
<meta name="layout" content="main">
</head>
<body>
<section class="breadcrumb p07">
<p><a href="/">Home</a> Denied</p>
</section>
<section class="content">
<p>Sorry, you're not authorized to view this page.</p>
</section>
</body></html>
Run Code Online (Sandbox Code Playgroud)
我将这些设置为 false,以便默认情况下不会锁定所有内容:
grails.plugin.springsecurity.rejectIfNoRule = false
grails.plugin.springsecurity.fii.rejectPublicInvocations = false
Run Code Online (Sandbox Code Playgroud)
管理员控制器:
@Secured(['ROLE_ADMIN'])
class AdminController {
def index() {
}
}
Run Code Online (Sandbox Code Playgroud)
例如,我以 ROLE_USER 身份登录,然后转到 /admin,它正确地拒绝了我。然而,它的页面上没有样式。
没有关于 css、js 等的附加规则。
我不明白为什么在这种情况下不应用样式。有任何想法吗?
目前,当我正在测试GET的 Swagger UI 时请求(将“id”路径变量绑定到数据对象)时,“id”字段的数据类型是 Model,而不是 Long。
例如,这是 RestController 中的方法:
@RequestMapping(value = "/{id}", method = GET)
public AwardVO getAwardById(@PathVariable("id") Award award) {
LOG.info("inside the get award method: "+award);
if (award == null) {
throw new AwardNotFoundException();
}
return new AwardVO(award);
}
Run Code Online (Sandbox Code Playgroud)
这是生成的文档:

因此,当我将 Long 传递到输入字段时,我没有收到所需的记录。Swagger 是否支持这种类型的绑定,或者我是否只需要查找记录并将 PathVariable 作为 Long 传递?
Swagger版本:编译“com.mangofactory:swagger-springmvc:0.9.5”
Swagger配置:
@Configuration
@EnableSwagger
public class SwaggerConfig extends WebMvcConfigurerAdapter {
private SpringSwaggerConfig springSwaggerConfig;
@Autowired
public void setSpringSwaggerConfig(SpringSwaggerConfig springSwaggerConfig) {
this.springSwaggerConfig = springSwaggerConfig;
}
@Bean
public SwaggerSpringMvcPlugin customImplementation() { …Run Code Online (Sandbox Code Playgroud) 所以这是我的层次结构的细分:
RecyclerView --> LinearLayout --> RecyclerView --> FrameLayout -> FrameLayout
Run Code Online (Sandbox Code Playgroud)
这是一个截图:
我希望能够验证FrameLayout显示的文本.这是我到目前为止所尝试的:
onView(withRecyclerView(R.id.container_list).atPositionOnView(0, R.id.row_content))
.check(matches(withRecyclerView(R.id.row_content).atPositionOnView(0, R.id.info_field)))
.check(matches(isDisplayed()));
Run Code Online (Sandbox Code Playgroud)
但它导致了AmbiguousViewMatcherException.关于如何验证嵌套视图的任何想法?应该提到我从这里使用ViewMatcher .谢谢.
我正在使用Kotlin,我想在a中添加一个新字段RealmObject,该字段可以为空.这是我在迁移中的内容:
val schema = realm.schema.get(ZOLA_NOTIFICATION)
if (!(schema?.hasField("agentId") ?: false)) {
schema.addField("agentId", Long::class.java)
}
Run Code Online (Sandbox Code Playgroud)
但是,运行此迁移时收到错误消息:
Non-fatal Exception: io.realm.exceptions.RealmMigrationNeededException
Field 'agentId' does not support null values in the existing Realm file. Either set @Required, use the primitive type for field 'agentId' or migrate using RealmObjectSchema.setNullable().
Run Code Online (Sandbox Code Playgroud)
如何Long::class.java在迁移代码中指定应该是可空类型?
我使用 Firebase 控制台创建了多个带有 UTM 参数的动态链接。然而,utmParameters田野始终是空的。
当intent收到 UTM 参数时,UTM 参数已被剥离。我们希望使用这些参数在应用程序中进行额外的跟踪和决策。
你知道这里可能出了什么问题吗?谢谢
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Firebase.dynamicLinks
.getDynamicLink(intent)
.addOnSuccessListener(this) { pendingDynamicLinkData ->
var deepLink: Uri? = null
if (pendingDynamicLinkData != null) {
deepLink = pendingDynamicLinkData.link
Timber.tag("XXX").d("UTM :${pendingDynamicLinkData.utmParameters}")
}
}
.addOnFailureListener(this) { e -> Timber.e(e, "Failed to process Dynamic Link") }
}
Run Code Online (Sandbox Code Playgroud) android event-tracking firebase-analytics firebase-dynamic-links
android ×5
android-tv ×1
css ×1
grails ×1
gsp ×1
kotlin ×1
layout ×1
leanback ×1
realm ×1
spring ×1
spring-boot ×1
swagger ×1
swagger-ui ×1
ui-testing ×1