我第一次使用JSON时遇到了一个问题。当我尝试使用和导入TypeToken时,我收到错误消息“Unresolved reference:类型标记”。
我的代码
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.google.gson.Gson
import java.lang.reflect.Type
import com.google.gson.reflect.TypeToken
class QuizActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_quiz)
val gson = Gson()
val json = "quiz.json"
val myType: Type = object : TypeToken<List<QuizType>>(){}.type()
val quiz: List<QuizType> = gson.fromJson(json, myType)
}
}
有什么不对吗?
编辑
我会用这个
val myType = typeOf<List<QuizType>>().javaType
取而代之
val myType: Type = object : TypeToken<List<QuizType>>(){}.type()
而且很有效!(或者我会试试莫希)
1条答案
按热度按时间t3psigkw1#
TypeToken
的声明有问题。前面缺少object :
。因为它应该是匿名内部类。它应该是这样的: