Kotlin: невозможно получить доступ к значению в классе IntentService - PullRequest
0 голосов
/ 08 марта 2019

Я извлекаю JSON из URL-адреса и использую Gson, чтобы преобразовать его в пригодный для использования PIN-код, который мне нужно показать пользователю.

package example

import android.app.IntentService
import android.content.Intent
import com.google.gson.Gson
import java.net.URL

class SendOrderIntentService : IntentService("SendOrderIntentService") {
override fun onHandleIntent(intent: Intent?) {

    val orderNumber = (0..999999999999999).random()
    val goodsCode = "1001004"

    val orderURLPart1 = "URL"
    val orderURLPart2 = "URL"
    val orderURLPart3 = "URL"

    val orderURL = orderURLPart1 + orderNumber + orderURLPart2 + goodsCode + orderURLPart3

    val orderJson = URL(orderURL).readText()
    println("Order number $orderNumber")
    println(orderJson)

    val pinCode = Gson().fromJson(orderJson, OrderData::class.java)

    println(pinCode)
    }
}

Пока все работает, у pinCode правильные данные.

package example

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_meal_reserved.*
import example.R

class MealReservedActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_meal_reserved)
    setSupportActionBar(my_toolbar)

    textViewCode.text = SendOrderIntentService().pinCode
   }
}

Но я не могу заставить textViewCode отображать pinCode, он просто говорит мне, что

"Unresolved reference: pinCode"

Я искал ответ в течение нескольких часов, поэтому я думаю, что упускаю что-то очевидное и простое.

Спасибо за чтение.

...