我正在使用最新版本的Butterknife(8.2.1),我遇到了一个问题:我正在使用带有3个片段的ViewPager,当重新创建片段时,所有视图都变为空!前两个片段,没问题,但是当我滑到第三个并返回到第一个时,每个视图都变为空.可能是什么问题呢?
我添加了ButterKnife.setDebug(true);以获取有关该问题的更多信息,我得到了这个:
D/ButterKnife: Looking up view binder for com.example.overview.MeetupOverviewFragment
D/ButterKnife: HIT: Cached in view binder map.
D/ButterKnife: Looking up view binder for com.example.attendees.MeetupAttendeesFragment
D/ButterKnife: HIT: Cached in view binder map.
D/ButterKnife: Looking up view binder for com.example.attendees.ControllerListAttendees$ItemViewHolder
D/ButterKnife: HIT: Cached in view binder map.
D/ButterKnife: Looking up view binder for com.example.attendees.ControllerListAttendees$ItemViewHolder
D/ButterKnife: HIT: Cached in view binder map.
D/ButterKnife: Looking up view binder for com.example.attendees.ControllerListAttendees$ItemViewHolder
D/ButterKnife: HIT: Cached in view binder map.
I/InjectionManager: dispatchCreateOptionsMenu :com.example.MeetupDetailActivity
I/InjectionManager: dispatchPrepareOptionsMenu …Run Code Online (Sandbox Code Playgroud) 我有一个聚合物元素,里面有一个costum元素.我想点击它时删除所有内容(父级和子级).
问题是,每次我关闭父元素的实例时,我都会收到错误.我认为这与我正在删除一个内部元素的元素有关.
如何正确删除它?
这是方法代码:
closeWindow: function (event, detail, sender) {
this.firstChild.remove();
this.remove();
}
Run Code Online (Sandbox Code Playgroud)
这是我遇到的错误:
Uncaught TypeError: Cannot read property 'length' of undefined
Run Code Online (Sandbox Code Playgroud)
这是错误的图像:

我想使用分页库,我正在使用协程从网络调用中获取数据。我已经验证从服务器正确检索了数据,但是当我从该方法调用回调时,我loadInitial在观察到的 LiveData 上一无所获。我已经尝试“模拟”服务器(以避免使用协程)并将结果传递给 Fragment。
当我使用协程时,我首先在大小为 0 的观察者上得到结果,然后当网络调用完成并使用回调时,我什么也没得到。问题似乎是我配置协程的方式。
用于协程的调度程序是否有问题?
这是 DataSource 的完整示例。使用的 CoroutineScope 是 ViewModel 提供的。
internal class CharactersDataSource(
private val coroutineScope: CoroutineScope,
private val characterRepository: CharacterRepository
) : PositionalDataSource<Character>() {
override fun loadRange(params: LoadRangeParams, callback: LoadRangeCallback<Character>) {
TODO()
}
override fun loadInitial(params: LoadInitialParams, callback: LoadInitialCallback<Character>) {
coroutineScope.launch {
val result = characterRepository.fetchCharacters(
params.requestedStartPosition,
params.requestedLoadSize
)
if (result is Output.Success) {
val value = result.value
// This next call should trigger data to be dispatched onto the LiveData
callback.onResult(value.results, …Run Code Online (Sandbox Code Playgroud) 电话身份验证在使用我的应用程序的调试版本时有效,当我在手机上手动安装发布签名的 apk 时也有效。但是当我将相同的工作 apk 发布到 Play 商店(Alpha 测试)时,我无法让它工作。挖了一下之后得到了这个:
此应用无权使用 Firebase 身份验证。请确认在 Firebase 控制台中配置了正确的包名称和 SHA-1。[应用验证失败]
我知道它的样子。但我可以保证我已将正确的 SHA-1 添加到 Firebase 控制台并在发布前进行检查。
我的问题:还有什么我应该看的吗?我还仔细检查了 google-services.json 没有成功。
任何人都可以告诉我如何根据Polymer属性的值导入元素?我以为我可以使用数据绑定但是...它不起作用.是否可以动态导入元素?
代码示例:
<link rel="import" href="app-window/{{name}}-app.html">
//This was my first idea (obviously doesn't work)
<polymer-element name="window-base" attributes="name" >
<template>
<link rel="stylesheet" href="window-base.css">
<section id="app">
<!--here will go the instance-->
</section>
</template>
<script>
Polymer('window-base', {
name: "Finder",
ready: function () {
this.instanceApp();
},
instanceApp: function () {
//this depends on the import made
var app=document.createElement(this.name + "-app");
this.$.app.appendChild(app);
}
});
</script>
</polymer-element>
Run Code Online (Sandbox Code Playgroud)
谢谢!
有点上下文,我试图将一些干净的架构应用到我的一个项目中,并且我遇到了我的存储库的(Realm)磁盘实现问题.我有一个存储库,它根据某些条件(缓存)从不同的DataStore中提取一些数据.这就是理论,将所有这些与UseCases和RxJava2混合时会出现问题.
首先,我从Realm获取对象列表,然后手动创建它的Observable.但是subscribe(正如预期的那样)在不同的线程上执行,因此领域最终崩溃......(第二块代码)
这是我用来创建Observables的代码(来自抽象类DiskStoreBase):
Observable<List<T>> createListFrom(final List<T> list) {
return Observable.create(new ObservableOnSubscribe<List<T>>() {
@Override
public void subscribe(ObservableEmitter<List<T>> emitter) throws Exception {
if (list != null) {
emitter.onNext(list);
emitter.onComplete();
} else {
emitter.onError(new ExceptionCacheNotFound());
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
我该如何处理这种情况?
更多代码DiskStoreForZone:
@Override
public Observable<List<ResponseZone>> entityList() {
Realm realm = Realm.getDefaultInstance();
List<ResponseZone> result = realm.where(ResponseZone.class).findAll();
return createListFrom(result);
}
Run Code Online (Sandbox Code Playgroud)
确切的崩溃:
E/REALM_JNI: jni: ThrowingException 8, Realm accessed from incorrect thread.
E/REALM_JNI: Exception has been thrown: Realm accessed from …Run Code Online (Sandbox Code Playgroud) android ×4
javascript ×2
polymer ×2
android-architecture-components ×1
butterknife ×1
firebase ×1
realm ×1
rx-java ×1