Невозможно использовать очередь, созданную newRequestQueue из библиотеки Volley - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь создать свое первое приложение в Котлине.Я использую библиотеку Volley

implementation 'com.android.volley:volley:1.1.1'

Я использую этот учебник , поэтому мой код такой же:

package com.example.raspberrycontrol

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.TextView
import com.android.volley.Request
import com.android.volley.Response
import com.android.volley.toolbox.StringRequest
import com.android.volley.toolbox.Volley


class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
}

val textView = findViewById<TextView>(R.id.textfield)

val queue = Volley.newRequestQueue(this)
val url = "http://www.google.com"

val stringRequest = StringRequest(
    Request.Method.GET, url,
    Response.Listener<String> { response ->
        // Display the first 500 characters of the response string.
        textView.text = "Response is: ${response.substring(0, 500)}"
    },
    Response.ErrorListener { textView.text = "That didn't work!" })

queue.add(stringRequest)

fun httpsRequest(view: View){
}

Моя проблема в том, чтоЯ получаю сообщение об ошибке

queue.add(stringRequest)

. При наведении на него указателя мыши говорится, что это «ожидание объявления элемента», как если бы я не делал этого несколько строк раньше:

val queue = Volley.newRequestQueue(this)

Что я здесь делаю неправильно или отсутствует?

1 Ответ

0 голосов
/ 21 июня 2019

Код, который вы добавили, должен находиться внутри onCreate() {scope}.

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)


    val textView = findViewById<TextView>(R.id.textfield)

    val queue = Volley.newRequestQueue(this)
    val url = "http://www.google.com"

    val stringRequest = StringRequest(
    Request.Method.GET, url,
    Response.Listener<String> { response ->
        // Display the first 500 characters of the response string.
        textView.text = "Response is: ${response.substring(0, 500)}"
    },
    Response.ErrorListener { textView.text = "That didn't work!" })

    queue.add(stringRequest)

}
...