如何预定义一个Volley.newRequestQueue类型和kotlin中onCreate函数的延迟初始化



kotlin新功能

短篇故事:似乎Volley.newRequestQueue()返回了一个A started RequestQueue instance。但当输入var queue: Volley.RequestQueue时,显示错误Unresolved reference: RequestQueue

长故事:我做了一个简单的单页应用程序,因为newRequestQueue不应该被多次启动,我必须先设置一个内部变量,然后在onCreate中初始化它,但它不起作用?

class FullscreenActivity : AppCompatActivity() {
var queue: Volley.RequestQueue
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
queue = Volley.newRequestQueue(this)
}
fun a() {
/** some codes to create the JsonObjectRequest first **/
val jsonObjectRequest = JsonObjectRequest(....)
queue.add(jsonObjectRequest)
}
fun b() {
/** some codes to create the JsonObjectRequest first **/
val jsonObjectRequest = JsonObjectRequest(....)
queue.add(jsonObjectRequest)
}
}

如果我在onCreate中初始化Volley.RequestQueue,我如何重用它?

谢谢。

为什么不直接初始化queue呢?

class FullscreenActivity : AppCompatActivity() {
val queue = Volley.newRequestQueue(this)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
fun a() {
/** some codes to create the JsonObjectRequest first **/
val jsonObjectRequest = JsonObjectRequest(....)
queue.add(jsonObjectRequest)
}

https://developer.android.com/training/volley/simple简单

另一个选择是单例解决方案:https://developer.android.com/training/volley/requestqueue单例

最新更新