- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我需要在 LifecycleObserver 中获取 LifecycleOwner 以将其传递给 ViewModel 观察器。
这是我的 MainActivity,我添加了 LifecycleObserver。
public class MainActivity extends AppCompatActivity implements LifecycleOwner{
private LifecycleRegistry mLifecycleRegistry;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.replace(R.id.container, MainFragment.newInstance())
.commitNow();
}
mLifecycleRegistry=new LifecycleRegistry(this);
mLifecycleRegistry.markState(Lifecycle.State.CREATED);
getLifecycle().addObserver(new MyLifecycleObserver());
}
@NonNull
@Override
public Lifecycle getLifecycle() {
return mLifecycleRegistry;
}
}
这是我的观察者,我需要 LifecycleOwner。
public class MyLifecycleObserver implements LifecycleObserver {
@OnLifecycleEvent(Lifecycle.Event.ON_START)
public void onStartListener(){
FirebaseMassage.startFirebase();
MainFragment.massageViewModel.getMassage().observe(/*here I need the LifecycleOwner*/, textMassage -> {
FirebaseMassage.updateFirebaseMassage(textMassage);
});
}
}
最佳答案
您可以使用另一个签名来获取 LifecycleOwner
,例如:
public class MyLifecycleObserver implements LifecycleObserver {
@OnLifecycleEvent(Lifecycle.Event.ON_START)
public void onStartListener(LifecycleOwner owner){
...
}
}
关于android - 如何获取LifecycleObserver中的LifecycleOwner?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51973851/
每当在我的回收器 View fragment 中创建新条目时,我都会尝试将记录插入到我的房间数据库中。为了添加新条目,我观察存储库类中的 GetTasks 方法返回的实时数据,并将添加到我的shows
我的应用程序中有一个组件可以在数据库更新时执行特定的工作。为了观察 Room 表,我需要使用 LiveData,这需要我传递 LifecycleOwner。我的组件与任何 View 都无关,因此我没有
我想将 Room 与 LiveData 一起使用,在其他项目中我已经使用过它,但在这个项目中,我无法让它工作。当我尝试观察实时数据时,它无法将我的 Activity 转换为生命周期 Activity
我的 MainActivity 扩展了 AppCompatActivity public class MainActivity extends AppCompatActivity { private
我正在使用 Android 支持库 26.1.0。这些是应用程序模块中的依赖项 - implementation "android.arch.lifecycle:runtime:1.0.0" impl
我想使用来自服务类的实时数据选择房间数据库中的数据。如何在观察时转换 LifecycleOwner? repositoryDatabase.getTimeline().observe(this, ti
在哪种情况下 android-build/android-studio 会显示这些错误? Cannot access androidx.lifecycle.LifecycleOwner and Can
假设 CoroutineScope 是由一些生命周期感知组件实现的,比如 Presenter。什么时候使用 GlobalScope.produce 与 CoroutineScope.produce 比
我有以下场景。我有一个包含 fragment 的 Activity 。在这个 fragment 中,我显示了一些来自后端数据库的记录。我也在使用一个看起来像这样的适配器: public class M
我需要让 LifecycleOwner 在我的 FirestoreRecyclerViewOption 中传递它,但 Fragment 没有实现生命周期。 那么,如何获得呢? 我的 Fragment
我有一个 fragment : class MyFragment : BaseFragment() { // my StudentsViewModel instance lateinit
我已经开始学习架构组件,但找不到任何东西。 LifecycleFragment只是创建一个新的 LifecycleRegistry对象,它不会开始观察 fragment 的生命周期。 我猜 Lifec
MainActivity cannot be converted to LifecycleOwner我用它作为 LiveCycle 所有者,但它被拒绝了,我得到了一个错误,如图所示。我在 Api 25
不幸的是,我不能将 getApplication() 用作 LifecycleOwner,因为 android.app.Application 似乎没有实现它。 为什么 android.app.App
我在我的项目中使用MVVM。但是当我创建App Widget时,他不支持updateAppWidget()中的LifecycleOwner var model: CurrencyViewModel m
我正在使用AbstractSavedStateViewModelFactory使用SavedStateHandle在具有非空构造函数的 View 模型中。但我收到一个非法状态异常,说它已经附加到生命周
我正在尝试使用 android ViewModel 和 LiveData,但是当我想要创建观察时出现错误。第一个参数给我一个错误:错误的第一个参数类型,它是 expect Lifecycleowner
目前需要 LifecycleOwner 才能创建观察者。 我有在 ViewModel 中创建观察者的代码,因此在我的 Fragment 中检索 ViewModel 时我附加了 LifecycleOwn
我知道看起来像是一些愚蠢的错误,但我找不到它。在我的项目中,我可以从我的 fragment 访问 LifecycleOwner,但不能从 Activity 访问。 这是我的build.gradle i
在我看来,我应该添加 binding.lifecycleOwner=this当我使用 viewModel . 我发现很多项目,例如 Code A 没有添加 binding.lifecycleOwner
我是一名优秀的程序员,十分优秀!