2016-01-26 2 views
0

Новый волейбол. Быстрый вопрос. Я могу получить простой запрос HTTP-запроса для работы при размещении в onCreate Можно ли отправить запрос в отдельный класс?андроид волейбол простой http-запрос

В этом примере студия Android не может разрешить «stringRequest». Помощь высоко ценится ...

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Retriever go = new Retriever(); 
     go.queue.add(stringRequest); 
    } 

public class Retriever { 


    RequestQueue queue = Volley.newRequestQueue(getApplicationContext()); 
    String url = "http://www.google.com"; 

    public StringRequest stringRequest = new StringRequest(Request.Method.GET, url, 
      new Response.Listener<String>() { 
       @Override 
       public void onResponse(String response) { 
        // mTextView.setText("Response is: " + response.substring(0, 500)); 
       } 
      }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 
      // mTextView.setText("That didnt work!"); 
     } 

    }); 

} 

} 
+0

Является ли «ретривер» внутренним классом «MainActivity»? Трудно сказать, что с вашим отступом –

ответ

2

Поскольку ваша stringRequest переменная находится в рамках Retriever класса, его видимость содержится только в этом классе. Вот почему вы получаете эту ошибку.

Он уйдет, если вы пишете

go.queue.add(go.stringRequest); 

, как вы обращаетесь к объекту из экземпляра этого класса.

+0

yep thats it. Хорошо объяснил. Приветствия. – user3338496

Смежные вопросы