2016-02-02 2 views
-1

Am пытается сделать ListView с помощью залпа я не получает ответ от сервера он выдает ошибку JSONException это мой ответ от сервера:Не получать ответ от сервера при использовании volley для listview?

[{"UserName":"XXXX ","TaskID":1,"Subject":"fjsdgfgf","DueDate":"2016-01-06T00:00:00","Priority":0,"Owner":762,"OwnerName":null,"RepeatStatus":false,"TaskStatus":"In Progress","RelatedTo":null},{"UserName":"XXX","TaskID":2,"Subject":"test","DueDate":"2016-01-11T00:00:00","Priority":0,"Owner":762,"OwnerName":null,"RepeatStatus":false,"TaskStatus":"Not Started","RelatedTo":null}]

я не получает ответ он прямо идет к Onerrorresponse он бросает типа Java. lang.String не может быть преобразован в JSONArray, как новичок я действительно путает, где я сделать ошибку до сих пор, что я попробовал это:

Это фрагмент, где я сделать запрос залпа:

import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.support.v7.widget.DefaultItemAnimator; 
import android.support.v7.widget.LinearLayoutManager; 
import android.support.v7.widget.RecyclerView; 
import android.util.Log; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.Toast; 

import com.android.volley.RequestQueue; 
import com.android.volley.Response; 
import com.android.volley.VolleyError; 
import com.android.volley.toolbox.JsonArrayRequest; 
import com.android.volley.toolbox.Volley; 

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

import java.util.ArrayList; 
import java.util.List; 

/** 
* Created by 4264 on 27-01-2016. 
*/ 
public class Task extends Fragment { 
    private List<Model_Task_List> model_task_lists; 

    //Creating Views 
    private RecyclerView recyclerView; 
    private RecyclerView.LayoutManager layoutManager; 
    private RecyclerView.Adapter adapter; 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     // Inflate the layout for this fragment 
     View view = inflater.inflate(R.layout.fragment_task, container, false); 
     recyclerView=(RecyclerView)view.findViewById(R.id.my_recycler_view); 
     LinearLayoutManager layoutManager = new LinearLayoutManager(getContext()); 
     recyclerView.setItemAnimator(new DefaultItemAnimator()); 
     recyclerView.setLayoutManager(layoutManager); 
     model_task_lists=new ArrayList<Model_Task_List>(); 
     //Showing a progress dialog 
     String Url="http://XXX.XX.X.XXX/XXX/GetActivitiesByUserID.svc/getlist/GetTask/762"; 
     //Creating a json array request 
     JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Url, 
       new Response.Listener<JSONArray>() { 
        @Override 
        public void onResponse(JSONArray response) { 
         //Dismissing progress dialog 
         for(int i = 0; i<response.length(); i++) { 
          Model_Task_List model_task_list = new Model_Task_List(); 

          try { 
           JSONObject json = (JSONObject) response 
             .get(i); 
           model_task_list.setSubject(json.getString("Subject")); 
           model_task_list.setUserName(json.getString("UserName")); 
           model_task_list.setTaskStatus(json.getString("TaskStatus")); 






          } catch (JSONException e) { 
           e.printStackTrace(); 
          } 
          model_task_lists.add(model_task_list); 
         } 

         //Finally initializing our adapter 
         adapter = new Task_List_Adapter(model_task_lists,getContext()); 

         //Adding adapter to recyclerview 
         recyclerView.setAdapter(adapter); 

         //calling method to parse json array 
         // parseData(response); 
        } 
       }, 
       new Response.ErrorListener() { 
        @Override 
        public void onErrorResponse(VolleyError error) { 
         Toast.makeText(getContext(),error.toString(),Toast.LENGTH_SHORT).show(); 
         Log.e("yog",error.toString()); 
        } 
       }); 

     //Creating request queue 
     RequestQueue requestQueue = Volley.newRequestQueue(getContext()); 

     //Adding request to the queue 
     requestQueue.add(jsonArrayRequest); 
     return view; 
    } 

} 

Это мой recyclerview адаптер:

import android.content.Context; 
import android.support.v7.widget.RecyclerView; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.ImageView; 
import android.widget.TextView; 

import java.util.List; 

public class Task_List_Adapter extends RecyclerView.Adapter<Task_List_Adapter.MyViewHolder> { 
    private List<Model_Task_List> dataSet; 
    private Context context; 

    private static data yog; 

    Model_Task_List modelTaskList=new Model_Task_List(); 

    public void remove(int position) 
    { 
     dataSet.remove(position); 
     notifyItemRemoved(position); 
    } 
    public void edit(int position){ 
     dataSet.set(position, modelTaskList); 
     notifyItemChanged(position); 
    } 

    public void setOnItemClickListener(data listener) { 
     this.yog = listener; 
    } 

    public static class MyViewHolder extends RecyclerView.ViewHolder { 
     // ModelPersonal modelPersonal=new ModelPersonal(); 
     TextView textname; 
     TextView textaddress; 
     TextView textphnum; 
     TextView textdegree; 
     TextView textemail; 
     ImageView call; 
     data datas; 

     public MyViewHolder(final View itemView) { 
      super(itemView); 
      this.textname = (TextView) itemView.findViewById(R.id.subject); 
      this.textaddress = (TextView) itemView.findViewById(R.id.username); 
      this.textphnum = (TextView) itemView.findViewById(R.id.status); 


      itemView.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        if(yog!=null){ 
         yog.yog(itemView,getLayoutPosition()); 
        } 
       } 
      }); 

      // this.imageViewIcon = (ImageView) itemView.findViewById(R.id.imageView); 

     } 



    } 
    public interface data 
    { 
     void yog(View v,int position); 
    } 
    public Task_List_Adapter(List<Model_Task_List> data,Context context) { 

     this.dataSet = data; 
     this.context=context; 
    } 

    @Override 
    public MyViewHolder onCreateViewHolder(ViewGroup parent, 
              int viewType) { 
     View view = LayoutInflater.from(parent.getContext()) 
       .inflate(R.layout.task_list_view, parent, false); 

     MyViewHolder myViewHolder = new MyViewHolder(view); 
     return myViewHolder; 
    } 

    @Override 
    public void onBindViewHolder(MyViewHolder holder, int position) { 
     TextView textViewName = holder.textname; 
     TextView textViewaddress = holder.textaddress; 
     TextView textViewphnum = holder.textphnum; 
     TextView textdegree = holder.textdegree; 
     TextView textemail=holder.textemail; 

     textViewName.setText("Subject:"+dataSet.get(position).getSubject()); 
     textViewaddress.setText("UserName"+dataSet.get(position).getUserName()); 
     textViewphnum.setText("Status:"+dataSet.get(position).getTaskStatus()); 


    } 




    @Override 
    public int getItemCount() { 
     return dataSet.size(); 
    } 
} 

Это моя модель класса:

public class Model_Task_List { 
    public String UserName; 
    public String Subject; 
    public String TaskStatus; 

    public String getSubject() { 
     return Subject; 
    } 

    public void setSubject(String subject) { 
     Subject = subject; 
    } 

    public String getTaskStatus() { 
     return TaskStatus; 
    } 

    public void setTaskStatus(String taskStatus) { 
     TaskStatus = taskStatus; 
    } 

    public String getUserName() { 
     return UserName; 
    } 

    public void setUserName(String userName) { 
     UserName = userName; 
    } 

    public Model_Task_List(String subject, String taskStatus, String userName) { 
     Subject = subject; 
     TaskStatus = taskStatus; 
     UserName = userName; 
    } 
    public Model_Task_List(){ 

    } 
} 

Мои Jsonresponse:

[{"UserName":"XXXXXX ","TaskID":1,"Subject":"fjsdgfgf","DueDate":"2016-01-06T00:00:00","Priority":0,"Owner":762,"OwnerName":null,"RepeatStatus":false,"TaskStatus":"In Progress","RelatedTo":null},{"UserName":"XXXXX","TaskID":2,"Subject":"test","DueDate":"2016-01-11T00:00:00","Priority":0,"Owner":762,"OwnerName":null,"RepeatStatus":false,"TaskStatus":"Not Started","RelatedTo":null}]

Я не знаю, где я могу сделать ошибку кто-нибудь helpme !!!

Вход кошка:

I/Timeline: Timeline: Activity_launch_request time:14940252 
02-02 19:22:30.733 11678-11678/XX E/RecyclerView: No adapter attached; skipping layout 
02-02 19:22:30.733 11678-11678/XX E/RecyclerView: No adapter attached; skipping layout 
02-02 19:22:30.773 11678-11678/XX E/RecyclerView: No adapter attached; skipping layout 
02-02 19:22:30.773 11678-11678/XXE/RecyclerView: No adapter attached; skipping layout 
02-02 19:22:30.793 11678-11678/xx W/Toast: From XXX, go ahead. 
02-02 19:22:30.793 11678-11678/XX E/yog: com.android.volley.ParseError: org.json.JSONException: Value [{"UserName":"XX","TaskID":1,"Subject":"fjsdgfgf","DueDate":"2016-01-06T00:00:00","Priority":0,"Owner":762,"OwnerName":null,"RepeatStatus":false,"TaskStatus":"In Progress","RelatedTo":null},{"UserName":"XXX ","TaskID":2,"Subject":"test","DueDate":"2016-01-11T00:00:00","Priority":0,"Owner":762,"OwnerName":null,"RepeatStatus":false,"TaskStatus":"Not Started","RelatedTo":null}] of type java.lang.String cannot be converted to JSONArray 
02-02 19:22:30.893 11678-11678/XXI/Timeline: Timeline: Activity_idle id: [email protected] time:14940540 
+1

разместить Ваш jsonarray залп metthod –

+0

это в классе фрагмента –

+0

вы получаете ответ от залпа. вы получаете JSONException во время разбора – Pr38y

ответ

0

Я думаю, что ответ вы получаете от строки является строка. Пометьте проверить его на вашем конце сервера

более подробно, пожалуйста, ссылку ниже com.android.volley.parse error org.json.jsonexception value of type java.lang.string cannot be converted to jsonArray in Android Volley [SOLVED]

+0

Тогда это не jsonarray? –

+0

, когда я изменил на stringrequest его рабочий тон –

+0

, потому что ваш ответ находится в строчном формате –

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