Я создал динамически только один фрагмент в Activity и добавил данные к фрагменту.Когда я изменил свой фрагмент данных снова создан.Когда я захочу вернуться к активности, они отобразят первые предыдущие данные, а затем перейдут в Основную активность, когда я нажму кнопку «Назад».Как решить эту проблему, когда я нажимаю кнопку «назад», они переходят только к основной деятельности, а не к предыдущим данным.
SearchFragment searchFragment = new SearchFragment(MainActivity.this);
searchFragment.setArguments(extra);
fragmentTransaction = manager.beginTransaction();
fragmentTransaction.add(R.id.myFragmwent_layout,searchFragment,"first");
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
SearchFragment searchFragment = (SearchFragment)
manager.findFragmentByTag("first");
fragmentTransaction = manager.beginTransaction();
if (searchFragment!=null){
fragmentTransaction.remove(searchFragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
}
Класс фрагмента поиска
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
if (getArguments()!=null){
keyword = getArguments().getString("keyword");
}
View view;
view = inflater.inflate(R.layout.fragment_search, container, false);
mRecyclerView = view.findViewById(R.id.recycler_view_Frag);
mRecyclerView.setHasFixedSize(true);
mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
categoryItemArrayList = new ArrayList<>();
sQueue = Volley.newRequestQueue(getContext());
JsonArrayRequest arrayRequest = new JsonArrayRequest(Request.Method.POST, url+keyword,
null,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
try {
for (int i = 0; i < response.length(); i++) {
JSONObject data = response.getJSONObject(i);
String creatorName = data.getString("name");
String imageUrl = data.getString("image");
String articleId = data.getString("article_id");
categoryItemArrayList.add(new CategoryItem(imageUrl, creatorName, articleId));
}
mCustomadapter = new CustomAdapter(getContext(), categoryItemArrayList);
mRecyclerView.setAdapter(mCustomadapter);
mCustomadapter.setOnItemClickListener(SearchFragment.this);
mCustomadapter.updateData();
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getContext(), "data not found", Toast.LENGTH_SHORT).show();
error.printStackTrace();
}
});
sQueue.add(arrayRequest);
return view;
}