2016-09-12 3 views
1

Может ли кто-нибудь пролить свет на это для меня? Я создаю это приложение для своего финального проекта, который должен состояться в пятницу. Глава. является. Фрид.Ошибка компиляции в Android

Получение этой ошибки на сборке

C:\Users\Gary\AndroidStudioProjects\NatureAll.v2\app\src\main\java\com\example\gary\natureallv2\SearchAnimalActivity.java:58: error: incompatible types: int cannot be converted to String 
        JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(POST, 
                       ^
Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output 
1 error 

Это говорит мне INT не может быть преобразован в строку, но я не могу видеть, где ИНТ. Вот мой код:

package com.example.gary.natureallv2; 

import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 

import com.android.volley.Request; 
import com.android.volley.RequestQueue; 
import com.android.volley.Response; 
import com.android.volley.VolleyError; 
import com.android.volley.toolbox.JsonObjectRequest; 
import com.android.volley.toolbox.Volley; 

import org.json.JSONArray; 
import org.json.JSONException; 
import org.json.JSONObject; 

/** 
* Created by Gary on 12/09/2016.Go Me 
*/ 
public class SearchAnimalActivity extends AppCompatActivity{ 



     EditText etSearchName; 
     Button btnSearch; 
     RequestQueue requestQueue; 
     String showUrl = "http://192.168.1.10/myDocs/mainProject/search_animal_and.php"; 
     // String showUrl = "http://192.168.1.10/tutorial/showStudents.php"; 
     TextView tvName; 
     TextView tvLatinName; 
     TextView tvDescription; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.search_animal_activity); 
      etSearchName = (EditText) findViewById(R.id.etSearchName); 
      tvName = (TextView) findViewById(R.id.tvName); 
      tvLatinName = (TextView) findViewById(R.id.tvLatinName); 
      tvDescription = (TextView) findViewById(R.id.tvDescription); 
      btnSearch = (Button) findViewById(R.id.btnSearch); 



      requestQueue = Volley.newRequestQueue(getApplicationContext()); 

      btnSearch.setOnClickListener(new View.OnClickListener() { 

       @Override 
       public void onClick(View view) { 
        // System.out.println("ww"); 
        JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, 
          showUrl, new Response.Listener<JSONObject>() { 
         @Override 
         public void onResponse(JSONObject response) { 
          System.out.println(response.toString()); 
          try { 
           JSONArray animals = response.getJSONArray("animals"); 
           for (int i = 0; i < animals.length(); i++) { 
            JSONObject animal = animals.getJSONObject(i); 
//Change here for different string names 
            String name = animal.getString("name"); 
            String latinName = animal.getString("latinName"); 
            String description = animal.getString("description"); 

            tvName.append(name); 
            tvLatinName.append(latinName); 
            tvDescription.append(description); 
           } 
           //result.append("===\n"); 

          } catch (JSONException e) { 
           e.printStackTrace(); 
          } 

         } 
        }, new Response.ErrorListener() { 
         @Override 
         public void onErrorResponse(VolleyError error) { 
          System.out.append(error.getMessage()); 

         } 
        }); 
        requestQueue.add(jsonObjectRequest); 
       } 
      }); 




     } 

    } 

Большое спасибо заранее

+0

'POST' является' int'. – resueman

+0

Используете ли вы новейшую версию? Должен работать с ним: https://android.googlesource.com/platform/frameworks/volley/+/master/src/main/java/com/android/volley/toolbox/JsonObjectRequest.java – Tom

+0

Прошу прощения за мое незнание, новейшую версию которого? Android, волейбол, град? – Javaiskillingme

ответ

0
tvName.append(name); 
tvLatinName.append(latinName); 
tvDescription.append(description); 

Вы пытаетесь добавить строку в представление, которое имеет значение его идентификатор (INT). Это не сработает. вы должны вместо этого называть .setText() на ваш взгляд и устанавливать текст в текущее значение плюс то, что вы хотите добавить.

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