android – 将项目添加到recyclerview的顶部

前端之家收集整理的这篇文章主要介绍了android – 将项目添加到recyclerview的顶部前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的活动中有一个Recyclerview.当我下拉它将加载新项目回收视图.
现在我需要实现pull来将概念刷新到我的recyclerview.我做到了.但是当我调用pull来刷新时,我正在获取新项目并添加到回收视图底部.我需要在循环视图的顶部添加新项目.如何将新加载的项目添加到回收站视图的顶部位置.
  1. public void refreshing() throws IllegalStateException{
  2.  
  3. new AsyncTask<String,Void,Void>() {
  4.  
  5. @Override
  6. protected void onPreExecute() {
  7. super.onPreExecute();
  8. progressBar.setVisibility(View.VISIBLE);
  9. }
  10.  
  11. @Override
  12. protected Void doInBackground(String... arg0) {
  13. final List<NameValuePair> list = new ArrayList<NameValuePair>();
  14. list.add(new BasicNameValuePair("id",sPreferences.getString("ID","")));
  15.  
  16. final HttpParams httpParams = new BasicHttpParams();
  17. HttpConnectionParams.setConnectionTimeout(httpParams,30000);
  18. DefaultHttpClient httpClient = new DefaultHttpClient(httpParams);
  19. HttpPost httpPost = new HttpPost(Config.requestpatienthistory);
  20. httpPost.getParams().setBooleanParameter(CoreProtocolPNames.USE_EXPECT_CONTINUE,false);
  21. try {
  22. httpPost.setEntity(new UrlEncodedFormEntity(list));
  23. } catch (IOException e) {
  24. e.printStackTrace();
  25. }
  26. try {
  27. HttpResponse response = httpClient.execute(httpPost);
  28. BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
  29. String json = reader.readLine();
  30.  
  31.  
  32. JSONObject jsonObj = new JSONObject(json);
  33. if (jsonObj.has("control")) {
  34.  
  35. JSONArray FeedArray = jsonObj.getJSONArray("control");
  36. for (int i = 0; i < FeedArray.length(); i++) {
  37. JSONObject FeedObj = (JSONObject) FeedArray.get(i);
  38.  
  39. final Historyitem item = new Historyitem();
  40.  
  41. if (FeedObj.has("Reported_Time")) {
  42. item.setReported_Time(FeedObj.getString("Reported_Time"));
  43. }
  44. historyitems.add(item);
  45. }
  46. } else {
  47. System.out.println("" + "no patients");
  48. }
  49. } catch (SocketException e) {
  50. e.printStackTrace();
  51. } catch (JSONException e) {
  52. e.printStackTrace();
  53. } catch (NullPointerException e) {
  54. e.printStackTrace();
  55. }catch (Exception e) {
  56. e.printStackTrace();
  57. }
  58. return null;
  59. }
  60.  
  61. @Override
  62. protected void onPostExecute(Void aVoid) {
  63. super.onPostExecute(aVoid);
  64. progressBar.setVisibility(View.GONE);
  65. historyadapter = new HistoryRecycleListAdapter(getActivity(),getActivity(),historyitems);
  66. hisrecyclerview.setAdapter(historyadapter);
  67. }
  68. }.execute();
  69. }

解决方法

我会坚持要在第0个位置添加项目,这个位置来自拉动刷新,如下所示,
  1. mArrayList.add(position,item);
  2. notifyItemInserted(position);

猜你在找的Android相关文章