ArrayList
をJSONObject
リクエストから取得するにはどうすればよいですか?JSONObjectリクエストからArrayListを取得する方法
インターフェイスを試しましたが、動作しません。セッターとゲッターもうまくいきません。私はRecyclerView
を使用しています。
これは
public class EditDoctor extends Fragment {
RecyclerView recyclerView;
String key;
String url;
RecyclerAdapterEditDoctor edit;
SharedPreferences sharedPreferences;
RequestQueue queue;
ArrayList<EditDoctorModel> listOfPojo = new ArrayList<>();
public EditDoctor()
{
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstaneState)
{
View view = inflater.inflate(R.layout.editdoctor,container,false);
Context context = getActivity();
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
key = sharedPreferences.getString("key", "");
return view;
}
@Override
public void onViewCreated(View view,Bundle savedInstanceState) {
setRetainInstance(true);
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
recyclerView = (RecyclerView) getActivity().findViewById(R.id.recycler1);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity());
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
recyclerView.setLayoutManager(linearLayoutManager);
queue = Volley.newRequestQueue(getActivity());
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
key = sharedPreferences.getString("key", "");
url = "http://192.168.0.153:9091/drrate/api/profile/Search?page=1&size=10&filter=[{\"col\":\"MemberKey\",\"val\":\""+key+"\",\"cond\":\"Equal\"}]";
getJSONRequest();
edit = new RecyclerAdapterEditDoctor(getActivity(),listOfPojo);
recyclerView.setAdapter(edit);
}
// This is the Request
public void getJSONRequest() {
JsonObjectRequest req = new JsonObjectRequest(Request.Method.GET, url,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
ArrayList<EditDoctorModel>temp = new ArrayList<>();
try {
JSONArray Jarray = response.getJSONArray("Data");
for (int i = 0; i < Jarray.length(); i++) {
JSONObject object = Jarray.getJSONObject(i);
EditDoctorModel editDoctorModel = new EditDoctorModel();
editDoctorModel.setFullName(object.getString("Name"));
editDoctorModel.setProfession(object.getString("Profession"));
editDoctorModel.setUrl(object.getString("Image"));
temp.add(editDoctorModel);
}
// this work but android monitor says that skipping layout adapter not attached
// edit = new RecyclerAdapterEditDoctor(getActivity(),listOfPojo);
// recyclerView.setAdapter(edit);
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
queue.add(req);
}
が私を助けてください、私のコードです。前もって感謝します。
http://stackoverflow.com/help/how-to-askをお読みください。あなたがすでに試したものと何が効いていないものかを教えてください。 –
私はちょうどあなたの 'JSON'も表示するtempリスト – sydney69
を取得する必要があります。 –