我有一个包含很多片段的活动,我想在片段之间使用共享视图模型来共享东西,但是当我像在片段中那样初始化它时,它会显示一个错误,如果可能的话,访问它的正确方法是什么?
val model : sharedViewModel by activityViewModels()
我试过做ViewModelProvider,但不知道如何正确地做,因为我正在用kotlin编码
根据文档,kotlin var属性可以在ViewModel中绑定为
// Kotlin var property
class PersonVarViewModel(person: Person) : ViewModel() {
val name = bind { person.observable(Person::name) }
}
好像不起作用。如何解决这个问题。IDE显示红色下划线,下面是"bind“,但是如果我写
val name = bind(RoomType::name)
没有任何错误。但是使用UI字段更新值并不会更新模型值。请帮帮忙
我正在尝试Kotlin并希望为活动实现一个延迟扩展属性:
/**
* Activity module
*/
val Activity.activityModule: ActivityModule by lazy {
ActivityModule(this)
}
编译器的错误有:
'this' is not defined in this context
我怎么才能把这个定义为活动呢?我读过,但看不懂。this@Activity说这个引用还没有解决。
我有一个供应商web部件,其中有一个项目的网格视图,按Y/N状态指示器和案例编号排序。单击"select“链接,案例编号将传递给显示该案例详细信息的consumer web part。用户输入索赔编号并单击"set status",这将更新数据库中该案例的表。此时,我需要提供者中的网格视图通过调用存储的proc并重新填充网格视图来刷新自身,以反映我们刚刚设置状态的项的更改状态。有没有办法使提供者从消费者web部件中回发或刷新其网格视图?
谢谢,菲尔·J。
我想在kotlin android中为多个视图模型创建一个视图模型工厂。我如何才能做到这一点?
class AppViewModelFactory : ViewModelProvider.Factory {
@Suppress("UNCHECKED_CAST")
override fun <T : ViewModel> create(modelClass: Class<T>): T {
if (modelClass.isAssignableFrom(LoginViewModel::class.java)) {
我正在尝试对我的接口做一个外观,以抽象真实类型,并省略需要直接命名所有这些类型。我最终得到了这个:
class Facade : ILeft by LeftImpl(), IRight by RightImpl()
ILeft和IRight是接口,我实例化了它们的实现。这是我正在寻找的一般解决方案,它起作用了。
但
比方说,我知道,我大部分时间只使用ILeft或IRight。在某些情况下,我会同时使用这两种方法,但大多数时候,我只使用其中一种。因此,我想让他们变得懒惰,但如何做到呢?
1)可以使用构造函数中提供的实例,但这需要一个实例。
2)如果我尝试定义:
class Facade : IL
我正在尝试使用@JsonView注解从Spring中的对象反序列化几个字段。但是,我将注释添加到我的方法中,它返回一个空对象,而不是反序列化指定的字段。
这是我的POJO:
@Entity
data class Album(
@JsonView(View.AlbumSummary::class)
val title: String,
@JsonView(View.AlbumSummary::class)
@ManyToMany
val artists: List<Account>,
我正在开发WPF应用程序,我正在使用autofac进行依赖注入。使用无参数构造函数向视图模型注入一些服务是不成问题的:
public class RoomViewModel
{
private ISomeService _someService;
public (ISomeService someService)
{
_someService = someService;
}
}
但是我不知道如何向带参数的视图模型注入服务。例如:
public class BedViewModel
{
public BedViewModel(double
我试图为给定的模型名称数组动态生成一些计数方法,然后我可以在视图/助手中使用这些方法:
# create dynamic count methods for each model we want
['model', 'other_model', 'next_model'].each do |name|
class_eval{
"def total_#{name.underscore}s_count
total_#{name.underscore}s_
我需要在Java中装饰一个实例,并希望委托在Kotlin中(更容易)。
问题是我在定义上遇到了编译错误。
如何定义inner才能接收null?
open class ConnectionDecorator(var inner: Connection?) : Connection by inner // Getting an error on the right inner
来自Java的用法示例:
new ConnectionDecorator(null).close();
*这是一个简化的例子,尝试在Java中使用Kotlin的委托,其中传递的内容可以为空。