android - 如何获取数据类的对象value?

这是我的数据类主构造函数。

@Parcelize
data class CharacInfo(
    @PrimaryKey val uid: Long?,
    @ColumnInfo var category: Int,
    @ColumnInfo var img: Int,
    @ColumnInfo var job: String,
    @ColumnInfo var birth: String,
    @ColumnInfo var onoff: Boolean
) : Parcelable

我想从服务类中获取数据类的每个参数的value。这是我的服务班。

class AlarmService : Service() {

    private var list = ArrayList<CharacInfo>()
    private lateinit var info: CharacInfo

    override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {

        val intent = Intent(this, MainActivity::class.java)

        val pendingIntent = PendingIntent.getActivity(this,0,intent,PendingIntent.FLAG_MUTABLE)
        
        val notification = NotificationCompat.Builder(this, App.ID)
            .setSmallIcon(R.drawable.ic_launcher_background)
            .setContentTitle("test")
            .setContentText("test")
            .setContentIntent(pendingIntent)
            .build()

        startForeground(1,notification)
        return START_STICKY

    }

    override fun onBind(p0: Intent?): IBinder? {
        return null
    }
}

但我无法初始化 info 对象。我不想插入一个新的 value,我想得到一个现有的 value。我想创建一个空的构造函数,但我之所以这样做是因为我的数据类中需要一个主构造函数。

回答1

对于每个参数,您应该像这样使用 forEach 循环

list.forEach {
        val uid = it.uid
        var category = it.category
        var img = it.img
        var job = it.job
        var birth = it.birth
        var onoff = it.onoff
    }

相似文章

随机推荐

最新文章