在Android中编译错误

时间:2016-09-12 13:49:46

标签: java android

任何人都可以为我阐明这一点吗?我将这个应用程序用于我周五到期的最终项目。头。是。 FRIED。

在构建

上获取此错误
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不能转换为字符串,但我无法看到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);
                }
            });




        }

    }

非常感谢提前

1 个答案:

答案 0 :(得分:0)

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

您正在尝试将字符串附加到具有其id(int)值的View。这不行。您应该在视图上调用.setText()并将文本设置为其当前值以及您要追加的内容。