Java Android在滚动到底部并获取新数据后始终转到第一个数据/页面(顶部循环视图)

Java Android在滚动到底部并获取新数据后始终转到第一个数据/页面(顶部循环视图),java,android,android-recyclerview,httpurlconnection,fetch,Java,Android,Android Recyclerview,Httpurlconnection,Fetch,获取新数据后,应用程序总是转到第一页。因此,我必须滚动到底部(再次)才能在循环视图中看到新数据 代码 这是我的密码。我如何解决我的问题 包tonnyferiandi.last项目; 导入android.content.Context; 导入android.graphics.Bitmap; 导入android.graphics.BitmapFactory; 导入android.net.Uri; 导入android.os.AsyncTask; 导入android.os.Bundle; 导入andr

获取新数据后,应用程序总是转到第一页。因此,我必须滚动到底部(再次)才能在循环视图中看到新数据

代码 这是我的密码。我如何解决我的问题

包tonnyferiandi.last项目;
导入android.content.Context;
导入android.graphics.Bitmap;
导入android.graphics.BitmapFactory;
导入android.net.Uri;
导入android.os.AsyncTask;
导入android.os.Bundle;
导入android.support.v4.app.Fragment;
导入android.support.v7.widget.LinearLayoutManager;
导入android.support.v7.widget.RecyclerView;
导入android.util.Base64;
导入android.util.Log;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.ProgressBar;
导入android.widget.Toast;
导入org.json.JSONArray;
导入org.json.JSONException;
导入org.json.JSONObject;
导入java.io.BufferedReader;
导入java.io.InputStreamReader;
导入java.net.HttpURLConnection;
导入java.net.URL;
导入java.util.ArrayList;
导入java.util.List;
公共类选项卡\u提要扩展了片段{
私有列表feedsList;
私人回收视图mRecyclerView;
专用tab_馈线适配器;
私人ProgressBar ProgressBar;
私人位图照片;
私人位图照片编号;
私有布尔加载=true;
公共整数页=0;
公众观点v;
公共字符串url;
直线布局经理布局经理;
int pastVisiblesItems、visibleItemCount、totalItemCount;
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
v=充气机。充气(R.layout.fragment\u tab\u进料,容器,假);
mRecyclerView=(RecyclerView)v.findViewById(R.id.recycler\u视图);
mRecyclerView.setHasFixedSize(true);
layoutManager=新的LinearLayoutManager(getActivity());
mRecyclerView.setLayoutManager(layoutManager);
progressBar=(progressBar)v.findViewById(R.id.progress\u bar);
progressBar.setVisibility(View.VISIBLE);
feedsList=新的ArrayList();
//从下面的url下载数据
url=”http://tukoe.com/feed/getfeed.php?page=“+String.valueOf(第页);
新建AsyncHttpTask().execute(url);
返回v;
}
公共类AsyncHttpTask扩展了AsyncTask{
@凌驾
受保护的void onPreExecute(){
//SetProgressBarInDeterminateVibility(真);
progressBar.setVisibility(View.VISIBLE);
}
@凌驾
受保护的整数doInBackground(字符串…参数){
整数结果=0;
HttpURLConnection-urlConnection;
试一试{
URL=新URL(参数[0]);
urlConnection=(HttpURLConnection)url.openConnection();
int statusCode=urlConnection.getResponseCode();
//200表示HTTP OK
如果(状态代码==200){
BufferedReader r=新的BufferedReader(新的InputStreamReader(urlConnection.getInputStream());
StringBuilder响应=新建StringBuilder();
弦线;
而((line=r.readLine())!=null){
响应。追加(行);
}
parseResult(response.toString());
结果=1;//成功
}否则{
结果=0;//“无法获取数据!”;
}
}捕获(例外e){
Log.d(“RecyclerView”,e.getLocalizedMessage());
}
返回结果;//“无法获取数据!”;
}
@凌驾
受保护的void onPostExecute(整数结果){
//下载完成。让我们更新用户界面
progressBar.setVisibility(View.GONE);
如果(结果==1){
滚动();
page++;
}否则{
Toast.makeText(getActivity().getApplicationContext(),“无法获取数据!”,Toast.LENGTH\u SHORT.show();
}
}
}
私有void parseResult(字符串结果){
试一试{
JSONObject响应=新JSONObject(结果);
JSONArray posts=response.optJSONArray(“结果”);
对于(int i=0;i英寸高度){
外径=768;
外高=(内高*768)/内宽;
}否则{
外高=768;
外径=(内径*768)/内径;
}
photono=Bitmap.createScaledBitmap(PhotoOne、外径、外径、假);
项目.设置缩略图(照片编号);
饲料列表。添加(项目);
}
}捕获(JSONException e){
e、 printStackTrace();
}
}
公共静态位图解码器Base64(字符串输入){
字节[]解码字节=Base64.解码(输入,0);
返回BitmapFactory.decodeByteArray(decodeByte,0,decodeByte.length);
}
公共无效卷轴(){
adapter=新选项卡\u feedAdapter(getActivity(),feedsList);
mRecyclerView.setAdapter(适配器);
mrecycleView.addOnScrollListener(新的RecycleView.OnScrollListener(){
@凌驾
已克隆的公共空白(RecyclerView RecyclerService
    @Override
    protected void onPostExecute(List<tab_feedItem> result) {
        // Download complete. Let us update UI
        progressBar.setVisibility(View.GONE);

        if (result != null) {
            adapter.updateItems(result);
            adapter.notifyDataSetChanged();
        } else {
            Toast.makeText(getActivity().getApplicationContext(), "Failed to fetch data!", Toast.LENGTH_SHORT).show();
        }
    }
public void updateItems(List<tab_feedItem> feedItems){
    this.items.clear();
    this.items.addAll(feeditems);
}
adapter.setData(feedsList);
adapter.notifyDataSetChange();