Я знаю, как установить новый добавленный элемент сверху, но здесь я хочу оставить определенный элемент сверху, пока новый элемент добавлялся много раз.
Здесь я загружаю одну картинку
Вы можете найти здесь то, что я хочу.
На этой картинке вы видите, что новая команда остается всегда на вершине, в то время как многие команды присоединяются к другим устройствам. Другими словами, на этой картинке пользователь может видеть свою команду всегда на вершине. в то время как другой пользователь был добавлен команды.
Вот мой код
public LeaderBoardFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
view = inflater.inflate(R.layout.fragment_leader_board, container, false);
recyclerView = view.findViewById(R.id.leaderboard_recycler);
wp10ProgressBar = view.findViewById(R.id.wp10progressBar);
wp10ProgressBar.showProgressBar();
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
recyclerView.setLayoutManager(new StaggeredGridLayoutManager(1,StaggeredGridLayoutManager.VERTICAL));
// recyclerView.setItemAnimator(itemAnimator);
//// recyclerView.addItemDecoration(dividerItemDecoration);
return view;
}
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// itemAnimator = new DefaultItemAnimator();
// itemAnimator.setAddDuration(5000);
// itemAnimator.setRemoveDuration(5000);
getLeaderBoardData();
}
private void getLeaderBoardData() {
Sharedpref sharedpref = Sharedpref.getInstance(getActivity());
queue = Volley.newRequestQueue(Objects.requireNonNull(getActivity()));
intent = Objects.requireNonNull(getActivity()).getIntent();
matchId = sharedpref.getString("matchId");
leaderboardArrayList = new ArrayList<>();
HashMap<String, String> params = new HashMap<>();
params.put("match", matchId);
Log.d(TAG + "112", String.valueOf(params));
String Url = Constants.Base_URL + "leaderboard/";
JsonObjectRequest request = new JsonObjectRequest(Url, new JSONObject(params),
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.d(TAG, String.valueOf(response));
try {
String statusObject = response.getString("status");
String msgObject = response.getString("msg");
if (statusObject.equals("200")) {
JSONArray jsonArray = response.getJSONArray("response");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject projResponse = jsonArray.getJSONObject(i);
String rankObject = projResponse.getString("rank");
String killsObject = projResponse.getString("kills");
String myteamObject = projResponse.getString("myteam");
Log.d("response", rankObject);
Log.d("response", killsObject);
Log.d("response", myteamObject);
// Collections.reverse(leaderboardArrayList);
leaderboardArrayList.add(new Leaderboard(rankObject, killsObject, myteamObject));
}
leaderBoardAdapter = new LeaderBoardAdapter(getContext(), leaderboardArrayList);
recyclerView.setAdapter(leaderBoardAdapter);
leaderBoardAdapter.notifyItemInserted(0);
leaderBoardAdapter.notifyDataSetChanged();
// prizeAdapter.setOnItemClickListner(WingsActivity.this);
wp10ProgressBar.hideProgressBar();
}else {
wp10ProgressBar.hideProgressBar();
// shimmerLayout.stopShimmerAnimation();
Toast.makeText(getContext(), msgObject, Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
});
queue.add(request);
}