Tag: 懒惰加载

在启动时使用参数化初始化的单例数据库对象?

我试图创建一个可以被多个类使用的单个数据库实例(在Kotlin中使用object关键字)。 但是,我希望能够在创建单例实例之前指定数据库名称。 由于单例对象不能用参数初始化,所以我想知道我在做什么是有效的,或者是否有更好的方法来做事情: object DatabaseSingleton { private lateinit var databaseName: String private lateinit var mongoClient: MongoClient val database: DatabaseContainer by lazy { DatabaseContainer(databaseName, mongoClient) } fun init(databaseName: String, mongoClient: MongoClient): DatabaseSingleton { this.databaseName = databaseName this.mongoClient = mongoClient return this } } 并在另一个文件 class DatabaseContainer(databaseName: String, val mongoClient: MongoClient) { val db: MongoDatabase = mongoClient.getDatabase(databaseName) […]

Android RecyclerView无限滚动而不使用NULL对象来加载指标

我正在创建一个RecyclerView Adapter,在这个链接Android Recyclerview中加载无限数据 。 当我们想要显示加载指标时,我们写下面的代码: contacts.add(null); contactAdapter.notifyItemInserted(contacts.size() – 1); 我正在使用kotlin,不希望这个空对象被添加到列表中,也不希望在RecyclerView之外加载指示器(意味着加载指示器必须是列表中的一个项目)。 有什么办法,我们不需要添加一个空对象? 几乎互联网上的每个例子都使用这个空对象来显示加载指示符。 请显示任何代码示例或任何其他相关的博客文章来帮助。 谢谢。