上下文:,我想在他登录后将一个userId传递给片段UserFragment。我使用一个新项目Android类型的“导航抽屉活动”。我使用LiveData,所以当用户登录时,我的livedata的观察者从MainActivity更新idUser。我还想更新导航组件中的片段参数.
val drawerLayout: DrawerLayout = findViewById(R.id.drawer_layout)
val navView: NavigationView = findViewById(R.id.nav_view)
val navController = findNavControlle
我有一个活动应该显示一个非固定数量的碎片。每个片段将接收MutableList of Customer的一个元素,并且它需要将其组件绑定到这个Customer类中的一个属性。
我创建了这样的类:
class Customer constructor(
val name: LiveData<String>
val email: LiveData<String>
)
在我的ViewModel中,我创建了MutableList of Customer
class CustomerViewModel: ViewModel() {
val custome
我正在尝试实例化一个ViewModel,以便在我的所有片段中使用,更新所有可见的片段回收视图,但我得到的是这个折叠错误ReleasesViewModel releasesViewModel = ReleasesViewModel.of(this).get(ReleasesViewModel.class);。
无法解析of方法。
public class UpcomingViewPagerFragment extends Fragment implements Observable {
private static final String TAG = UpcomingGamesFra
我似乎找不到这个DataBinding NullPointerException的起源。在使用Android Navigation Architecture时,当导航到Fragment并再次重复导航时,我最终将得到以下堆栈跟踪
java.lang.NullPointerException: Attempt to invoke direct method 'void androidx.databinding.ViewDataBinding.handleFieldChange(int, java.lang.Object, int)' on a null object referen
我在我的ViewModel中有3个LiveData对象,我正在对这些对象进行转换,问题是两个LiveData被观察到了,而另一个没有,我尝试了不同的解决方案,比如改变ViewModel的初始化方式或LiveData的初始化方式,但都没有对我起作用。 class MyClass : ViewModel() {
init {
_originallist.value = Instance.getOrignalList()
}
// observed in Fragment A
val a: LiveData<List<A>>
是否有可能重新创建依赖于构造函数传递的LiveData的片段?我可以在娱乐后和LiveData或ViewModel一起玩LiveData。
我有一个用适配器创建片段的viewPager2。这些片段需要LiveData才能正常工作。在屏幕旋转之前,一切都很好,因为android想要重新创建片段,但是使用了非arg构造函数,所以我不能再获得LiveData了。有什么能帮助解决这个问题的吗?
片段
public class SensorFragment extends Fragment {
private SensorViewModel viewModel;
public stat
我想使用MutableLiveData来观察来自ViewModel的一些数据。问题是,我使用的是子类和父类,并且与LiveData有一些不兼容性。我想在科特林做的一个例子:
import android.arch.lifecycle.MutableLiveData
import android.arch.lifecycle.ViewModel
class Test : ViewModel() {
abstract class Parent(protected var id: Int)
class ChildFirst(id: Int) : Parent(id)
我有以下基本课程:
open class BaseViewModel<T>(
private val schedulerProvider: BaseSchedulerProvider,
private val requestObservable: Observable<T>
) : ViewModel() {
private val compositeDisposable = CompositeDisposable()
private val _liveData = MutableLiveData<Resource<T>>()