无法在循环访问室数据库外部获取文本输入

时间:2019-07-20 00:24:31

标签: android kotlin

我尝试从roomDatabase中的表中获取文本,我通过循环访问它,并使用foreach循环访问数据库中的每个项目

如果我在循环内访问stringbuilder对象,它将管理工作

var text = StringBuilder()
 db.adblogDao().getADBlog().forEach {

                it.forEach {
                    text.append("${it.log}")
                    text.append('\n')
                    // This work, why??
                  Timber.d("SUNLIGHT: ${text}")
                }
   }
   //text is always empty, why???
   Timber.d("MOONLIGHT: ${text}")

我想在循环外访问字符串,但是它总是返回null,为什么?

2 个答案:

答案 0 :(得分:0)

首先记录MOONLIGHT和SUNLIGHT中的哪个?当工作线程调用forEach时,可以先执行MOONLIGHT,然后再执行forEach。

答案 1 :(得分:0)

我的代码:

    CREATE VIEW `vwStockin` 
    AS SELECT p.id
             ,p.refno
             ,p.pcode
             ,s.qty
             ,s.sdate
             ,s.stockinby 
    FROM `tbl_product` p 
    INNER JOIN tbl_stockin  s ON p.pcode =  s.pcode