我正在使用Volley发出网络请求,但正在使用,但是运行得很好,直到突然开始在requestQueue上引发Null指针异常。
class VolleySingleton(context: Context) {
companion object{
@Volatile
private var newInstance: VolleySingleton? = null
fun getInstance(context: Context) =
newInstance
?: synchronized(this){
newInstance
?: VolleySingleton(context).also{
newInstance = it
}
}
}
private val requestQueue: RequestQueue by lazy{
Volley.newRequestQueue(context) // throws NullPointer exception
}
fun<T> addToRequestQueue(req: Request<T>){
requestQueue.add(req)
}
}
我试图这样初始化它
private val requestQueue: RequestQueue =
Volley.newRequestQueue(context) // throws NullPointer exception
但它仍然无法正常工作。
最佳答案
您应该使用context.getApplicationContext()
而不是context
。
// Add a request (in this example, called stringRequest) to your RequestQueue.
VolleySingleton.getInstance(context.getApplicationContext()).addToRequestQueue(request)
关于java - Singleton中的Volley requestQueue返回null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60067311/