0
以下のコードを使用して、データを取得しています。私が初めてそれを実行すると、すべてのデータが表示されます。新しいデータを挿入すると、正常に挿入されますが、ページを報告してクリックすると、新しいデータや更新されたデータではなく、前のデータが表示されます。フェッチしたPHP Webサービスを使用してAndroidにデータを取得しましたが、新しいデータが追加されるとフェッチできません。
public class Fragment_Emp_Report extends Fragment {
List<Get_EmpNameAdapter> get_empNameAdapter1;
RecyclerView recyclerView;
ProgressBar progressBar;
RecyclerView.LayoutManager recyclerViewlayoutManager;
RecyclerView.Adapter recyclerViewadapter;
String url = "http://ghawadediilip.000webhostapp.com/Services/jsonFetchName.php";
String JSON_NAME = "emp_name";
JsonArrayRequest jsonArrayRequest;
RequestQueue requestQueue;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_emp_report,container,false);
fetchEmpName();
return view;
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
get_empNameAdapter1 = new ArrayList<>();
recyclerView = (RecyclerView)view.findViewById(R.id.report_recyclerview);
recyclerView.setHasFixedSize(true);
recyclerViewlayoutManager = new LinearLayoutManager(getActivity().getApplicationContext());
recyclerView.setLayoutManager(recyclerViewlayoutManager);
}
public void fetchEmpName()
{
jsonArrayRequest = new JsonArrayRequest(url, new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
jsonFetch(response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
requestQueue = Volley.newRequestQueue(getActivity().getApplicationContext());
requestQueue.add(jsonArrayRequest);
RequestQueue.RequestFinishedListener listener = new RequestQueue.RequestFinishedListener() {
@Override
public void onRequestFinished(Request request) {
recyclerViewadapter.notifyDataSetChanged();
}
};
requestQueue.addRequestFinishedListener(listener);
}
public void jsonFetch(JSONArray array)
{
for (int i=0;i<array.length();i++)
{
Get_EmpNameAdapter get_empNameAdapter2 = new Get_EmpNameAdapter();
JSONObject json=null;
try {
json = array.getJSONObject(i);
get_empNameAdapter2.setEmpname(json.getString(JSON_NAME));
} catch (JSONException e) {
e.printStackTrace();
}
recyclerView.setAdapter(recyclerViewadapter);
get_empNameAdapter1.add(get_empNameAdapter2);
}
recyclerViewadapter = new Report_Recyclerview_Adapter(get_empNameAdapter1,getContext());
recyclerView.setAdapter(recyclerViewadapter);
}
}