Android 如何从JSONObject请求中获取ArrayList
如何从Android 如何从JSONObject请求中获取ArrayList,android,json,android-volley,Android,Json,Android Volley,如何从JSONObject请求中获取ArrayList 我试过界面,但不起作用。二传手和接球手都不行。我使用的是回收视图 这是我的密码 public class EditDoctor extends Fragment { RecyclerView recyclerView; String key; String url; RecyclerAdapterEditDoctor edit; SharedPreferences sharedPreferences;
JSONObject
请求中获取ArrayList
我试过界面,但不起作用。二传手和接球手都不行。我使用的是回收视图
这是我的密码
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);
}
公共类EditDoctor扩展片段{
回收视图回收视图;
字符串键;
字符串url;
RecyclerAdapterEditDoctor编辑;
SharedReferences SharedReferences;
请求队列;
ArrayList listOfPojo=新的ArrayList();
公共编辑医生()
{
}
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、捆绑包保存状态)
{
视图=充气机。充气(R.layout.editdoctor,容器,假);
Context=getActivity();
SharedReferences SharedReferences=PreferenceManager.GetDefaultSharedReferences(上下文);
key=SharedReferences.getString(“key”,即“”);
返回视图;
}
@凌驾
已创建视图上的公共void(视图,捆绑保存状态){
setRetainInstance(真);
}
@凌驾
ActivityCreated上的公共无效(@Nullable Bundle savedinStateCState){
super.onActivityCreated(savedInstanceState);
recyclerView=(recyclerView)getActivity().findViewById(R.id.recycler1);
LinearLayoutManager LinearLayoutManager=新的LinearLayoutManager(getActivity());
linearLayoutManager.setOrientation(linearLayoutManager.VERTICAL);
recyclerView.setLayoutManager(linearLayoutManager);
queue=Volley.newRequestQueue(getActivity());
SharedReferences=PreferenceManager.GetDefaultSharedReferences(getActivity());
key=SharedReferences.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();
编辑=新的RecyclerAdapterEditDoctor(getActivity(),listOfPojo);
recyclerView.setAdapter(编辑);
}
//这是请求
public void getJSONRequest(){
JsonObjectRequest req=新的JsonObjectRequest(Request.Method.GET,url,
新的Response.Listener(){
@凌驾
公共void onResponse(JSONObject响应){
ArrayListtemp=新的ArrayList();
试一试{
JSONArray Jarray=response.getJSONArray(“数据”);
for(int i=0;i
请帮助我。提前谢谢。将您解析的数据添加到dataset
listOfPojo
,然后在适配器上调用notifyDataSetChanged
试试这个
@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);
}
// add the data in temp to listOfPojo
listOfPojo.clear();
listOfPojo.addAll(temp);
// notify the adapter that the data has changed
edit.notifyDataSetChanged();
} catch (JSONException e) {
e.printStackTrace();
}
}
@覆盖
公共void onResponse(JSONObject响应){
ArrayList temp=新的ArrayList();
试一试{
JSONArray Jarray=response.getJSONArray(“数据”);
for(int i=0;i
将已解析的数据添加到datasetlistOfPojo
,然后在适配器上调用notifyDataSetChanged
试试这个
@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);
}
// add the data in temp to listOfPojo
listOfPojo.clear();
listOfPojo.addAll(temp);
// notify the adapter that the data has changed
edit.notifyDataSetChanged();
} catch (JSONException e) {
e.printStackTrace();
}
}
@覆盖
公共void onResponse(JSONObject响应){
ArrayList temp=新的ArrayList();
试一试{
JSONArray Jarray=response.getJSONArray(“数据”);
for(int i=0;i
对代码进行一些更改
public class EditDoctor extends Fragment {
RecyclerView recyclerView;
String key;
String url;
RecyclerAdapterEditDoctor edit;
SharedPreferences sharedPreferences;
RequestQueue queue;
ArrayList<EditDoctorModel> listOfPojo;
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) {
listOfPojo = 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"));
listOfPojo.add(editDoctorModel);
}
// this work but android monitor says that skipping layout adapter not attached
// edit = new RecyclerAdapterEditDoctor(getActivity(),listOfPojo);
// recyclerView.setAdapter(edit);
edit.updateRecyler(listOfPojo);
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
queue.add(req);
}
公共类EditDoctor扩展片段{
回收视图回收视图;
字符串键;
字符串url;
RecyclerAdapterEditDoctor编辑;
SharedReferences SharedReferences;
请求队列;
ArrayList-listOfPojo;
公共编辑医生()
{
}
@凌驾
创建视图上的公共视图(平面充气机、ViewGr