我的活动中有一个Recyclerview.当我下拉它将加载新项目回收视图.
现在我需要实现pull来将概念刷新到我的recyclerview.我做到了.但是当我调用pull来刷新时,我正在获取新项目并添加到回收视图底部.我需要在循环视图的顶部添加新项目.如何将新加载的项目添加到回收站视图的顶部位置.
现在我需要实现pull来将概念刷新到我的recyclerview.我做到了.但是当我调用pull来刷新时,我正在获取新项目并添加到回收视图底部.我需要在循环视图的顶部添加新项目.如何将新加载的项目添加到回收站视图的顶部位置.
- public void refreshing() throws IllegalStateException{
- new AsyncTask<String,Void,Void>() {
- @Override
- protected void onPreExecute() {
- super.onPreExecute();
- progressBar.setVisibility(View.VISIBLE);
- }
- @Override
- protected Void doInBackground(String... arg0) {
- final List<NameValuePair> list = new ArrayList<NameValuePair>();
- list.add(new BasicNameValuePair("id",sPreferences.getString("ID","")));
- final HttpParams httpParams = new BasicHttpParams();
- HttpConnectionParams.setConnectionTimeout(httpParams,30000);
- DefaultHttpClient httpClient = new DefaultHttpClient(httpParams);
- HttpPost httpPost = new HttpPost(Config.requestpatienthistory);
- httpPost.getParams().setBooleanParameter(CoreProtocolPNames.USE_EXPECT_CONTINUE,false);
- try {
- httpPost.setEntity(new UrlEncodedFormEntity(list));
- } catch (IOException e) {
- e.printStackTrace();
- }
- try {
- HttpResponse response = httpClient.execute(httpPost);
- BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
- String json = reader.readLine();
- JSONObject jsonObj = new JSONObject(json);
- if (jsonObj.has("control")) {
- JSONArray FeedArray = jsonObj.getJSONArray("control");
- for (int i = 0; i < FeedArray.length(); i++) {
- JSONObject FeedObj = (JSONObject) FeedArray.get(i);
- final Historyitem item = new Historyitem();
- if (FeedObj.has("Reported_Time")) {
- item.setReported_Time(FeedObj.getString("Reported_Time"));
- }
- historyitems.add(item);
- }
- } else {
- System.out.println("" + "no patients");
- }
- } catch (SocketException e) {
- e.printStackTrace();
- } catch (JSONException e) {
- e.printStackTrace();
- } catch (NullPointerException e) {
- e.printStackTrace();
- }catch (Exception e) {
- e.printStackTrace();
- }
- return null;
- }
- @Override
- protected void onPostExecute(Void aVoid) {
- super.onPostExecute(aVoid);
- progressBar.setVisibility(View.GONE);
- historyadapter = new HistoryRecycleListAdapter(getActivity(),getActivity(),historyitems);
- hisrecyclerview.setAdapter(historyadapter);
- }
- }.execute();
- }
解决方法
我会坚持要在第0个位置添加项目,这个位置来自拉动刷新,如下所示,
- mArrayList.add(position,item);
- notifyItemInserted(position);