Передать данные из другого класса - PullRequest
0 голосов
/ 02 марта 2019

Я пытаюсь передать данные метки в LivePreviewActivity.Есть лучший способ сделать это ?Я не знаю, работает ли UIThread.Мне также нужен UIThread, потому что мне нужно непрерывно регистрировать данные.Пока журнал не печатается на консоли.Моя цель - получить доступ к тексту ярлыка в Activity.Благодарю.Пожалуйста, поправьте меня, если я делаю это неправильно.Это быстрый старт проекта MLKit на Firebase.Любая помощь будет чудесной.Мне также нужен 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 голосов
/ 02 марта 2019

Типичный способ передачи значений в действия - через намерение, которое вы использовали для создания действия.Вы не должны создавать Мероприятия напрямую, так как они имеют жизненный цикл.

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

там, где контекст - это ваша текущая активность, labelKey просто немного, которую вы будете использовать для поиска, labelValue ваше значение, которое вы хотите установить.

и затем в onCreate своей деятельности выищите дополнительные, используя пакет.

Надеюсь, это поможет, и я правильно понял ваш вопрос!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...