传递来自不同类别的数据

时间:2019-03-02 08:48:10

标签: android kotlin

我想将标签的数据传递给LivePreviewActivity。有一个更好的方法吗 ?我不知道UIThread是否在工作。我还需要UIThread,因为我需要连续记录数据。目前,日志不会在控制台上打印。我的目标是访问“活动”上的标签文本。谢谢。如果我做错了,请纠正我。这是Firebase上的快速入门项目MLKit。任何帮助都会很棒。我还需要UIThread,因为我需要连续记录数据。

class LivePreviewActivity : AppCompatActivity(), OnRequestPermissionsResultCallback,
        OnItemSelectedListener, CompoundButton.OnCheckedChangeListener {

var labelName: String? = ""

  override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_live_preview)

        runOnUiThread {
            Log.d("LivePreviewActivity", labelName)
        }
    }

ImageLabelProcessor

class ImageLabelingProcessor : VisionProcessorBase<List<FirebaseVisionImageLabel>>() {

    val livePreviewActivity = LivePreviewActivity()

        for (label in labels) {
            livePreviewActivity.labelName = label.text
        }
    }
}

1 个答案:

答案 0 :(得分:0)

将值传递给活动的典型方法是通过用于创建活动的意图。您不应该直接创建活动,因为它们具有生命周期。

val intent = Intent(context, LivePreviewActivity::class.java)
intent.putExtra(labelKey, labelValue)

其中上下文是您当前的活动,labelKey只是您将用于查找的一些const,labelValue是您要设置的值。

,然后在活动的onCreate中,使用捆绑包查找多余的内容。

希望这会有所帮助,并且我能正确理解您的问题!