草庐IT

lifecycle-viewmodel-ktx

全部标签

android - Kotlin dagger 2 Android ViewModel注入(inject)错误

我正在尝试在我的Android应用程序上使用dagger2从archandroid库中注入(inject)新的ViewModel。从我在这个样本上看到的https://github.com/googlesamples/android-architecture-components/tree/e33782ba54ebe87f7e21e03542230695bc893818/GithubBrowserSample我需要使用这个:@MustBeDocumented@Target(AnnotationTarget.FUNCTION,AnnotationTarget.CONSTRUCTOR,An

android - ViewModel 中的 ObservableField 值不会使用数据绑定(bind)更新 UI

ObservableField里面的值ViewModel使用EditText更改类值在布局中,但是值不会传播到TextViewtv_summary.这是布局View模型类publicclassAddMarkerViewModelextendsAndroidViewModel{privateMarkerRepositorymMarkerRepository;publicObservableFieldmarkerObservableField=newObservableField();publicAddMarkerViewModel(@NonNullApplicationapplicati

android - 如何使用 Koin 在 BaseFragment 中注入(inject) viewModel

我已经创建了一个抽象的BaseFragment类,它将被其他具体的Fragment类扩展。我想使用Koin在我的BaseFragment中注入(inject)ViewModel。这是我的BaseFragment:abstractclassBaseFragment(privatevalmViewModelClass:Class):Fragment(){valviewModel:VMbyviewModel()openlateinitvarbinding:DBfuninit(inflater:LayoutInflater,container:ViewGroup){binding=DataBi

WPF:DataContext和ViewModel的问题

我遇到了一个问题,可以在程序中显示要显示的内容,我怀疑我弄乱了与DataContext有关的一些内容。我使用的控件来自一个称为Syncfusion的扩展名(显示图形),但可能是显示这些项目的任何其他控件。mainwindow.xaml.cs:publicMainWindow(){InitializeComponent();ViewModel_viewModel=newViewModel();DataContext=_viewModel;}ViewModel.cspublicclassViewModel{publicObservableCollectionTotalDataColl{get;se

java - 安卓应用架构 : Implements user permission in lifecycle

我有一个扩展LiveData类的LocationListener。从Android6.0开始,在运行时请求权限。现在,当我尝试实现LiveData类时,它需要在onActive()函数中进行权限检查。我必须在每个Activity中为请求的权限和收到的结果制作样板代码。有没有办法移动这样的onRequestPermissionsResult()和checkSelfPermission()函数到LocationListener?位置fragment.javapublicclassLocationFragmentextendsLifecycleFragment{privateFragment

android - 在哪里注册 BroadcastReceiver (Activity lifecycle fun)

在Activity中注册/注销Intent接收器的正确位置在哪里?通常我会把这样的东西放在这里:classMyActivity{privateBroadcastReceivermMyReceiver=newBroadcastReceiver(){@OverridepublicvoidonReceive(Contextcontext,Intentintent){Log.v(TAG,"Dosomething.");}};@OverridepublicvoidonResume(){super.onResume();registerReceiver(mMyReceiver,newIntentF

android - 从 ViewModel 访问 strings.xml

我正在使用Dagger2DataBindng和新的AndroidLifecycle组件,它们具有ViewModels。在我的ViewModel中,我如何才能访问我的strings.xml?起初我在想,将Context注入(inject)到viewModel中,但是,这只会泄漏内存。还有其他方法吗? 最佳答案 有一个AndroidViewModel,它接收Application实例作为参数。来自文档:ApplicationcontextawareViewModel.Subclassesmusthaveaconstructorwhich

java - Android:无法构建 APK。发现多个文件的操作系统独立路径为 'META-INF/android.arch.lifecycle_runtime.version'

突然之间,我在构建APK时遇到了这个错误Error:Executionfailedfortask':app:transformResourcesWithMergeJavaResForDevDebug'.>MorethanonefilewasfoundwithOSindependentpath'META-INF/android.arch.lifecycle_runtime.version'我浏览了很多与META-INF问题相关的StackOverflow帖子,例如exclude'META-INF/***'(LICENSE,NOTICE等等)在packagingOptions中,但它不起作

android - 调用 ViewModel 实例会重置 LiveData 吗?

在我使用的Kotlin中viewModel=ViewModelProviders.of(this).get(HomeViewModel::class.java)从提供者处检索ViewModel。在我的ViewModel中,我有这样的东西。valliveChuchuData=MutableLiveData()根据我的理解,这会创建一个MutableLiveData的最终新变量,对吧?我记得在Java的ViewModel中声明MutableLiveDatas时,我们创建一个函数,然后检查MutableLiveData是否为null以仅创建一次。那么,如果我有一个fragment也将使用相同

Android:程序类型已经存在:android.arch.lifecycle.LiveData$LifecycleBoundObserver

我看过一些答案,但与firebase和实时数据不兼容或相似有关。我的简单测试应用程序与firebase无关。这是我在模块级别的gradle文件:applyplugin:'com.android.application'android{compileSdkVersion27defaultConfig{applicationId"room.exercise.com.myapplication"minSdkVersion19targetSdkVersion27versionCode1versionName"1.0"testInstrumentationRunner"android.suppo