标签: endlessscroll

如何在RecyclerView中实现setOnScrollListener

当用户到达列表中可见的项目时,如何在底部显示进度条.

我编写了一个代码,我使用Web服务获取数据,现在我想填充部分记录,因为我的JSON中有大约630条记录.

这是我用来从JSON获取数据并填充到RecyclerView中的整个代码.

以下是我的JSON外观,但真正的JSON包含600多条记录:

 http://walldroidhd.com/api.php
Run Code Online (Sandbox Code Playgroud)

有人可以指导我在我的代码中进行更改吗?

我希望每当用户使用进度条滚动到底部时填充更多记录,我仍然显示所有记录.

RecyclerViewFragment.java:

public class RecyclerViewFragment extends Fragment {

    RecyclerView mRecyclerView;
    LinearLayoutManager mLayoutManager;
    RecyclerView.Adapter mAdapter;
    ArrayList<NatureItem> actorsList;

    private int previousTotal = 0;
    private boolean loading = true;
    private int visibleThreshold = 5;
    int firstVisibleItem, visibleItemCount, totalItemCount;

    public static RecyclerViewFragment newInstance() {
        return new RecyclerViewFragment();
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment_recyclerview_advance, container, false);
    }

    @Override
    public void onViewCreated(View view, Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);

        actorsList = new …
Run Code Online (Sandbox Code Playgroud)

java onscrolllistener endlessscroll android-cardview android-recyclerview

35
推荐指数
4
解决办法
6万
查看次数

RecyclerView无限无限滚动问题

我正在尝试使用RecyclerView实现Endless Infinite Scrolling,但是我只获得了前10条记录,没有获得接下来的10条记录,甚至在尝试向下滚动时没有取得任何进展.

虽然我想要在滚动上获得接下来的10条记录等等......但只获得前10条记录

这里我上传了我的JSON 副本 - 但我无法从同一个网址获取数据,这就是我使用客户端的网址和本地主机的原因.

我正在学习教程

这是我的完整代码,我可以知道我在哪里做错了吗?

JSON:

{
  "names": [
    {
      "name": "Name 1"
    },
    {
      "name": "Name 2"
    },
    ....
    {
      "name": "Name 60"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

日志:

D/name -(13759): Name 1
D/name -(13759): Name 2
.......................
D/name -(13759): Name 60
Run Code Online (Sandbox Code Playgroud)

这是我更新的代码,我用它来解析JSON数据

MainActivity.java:更新

public class MainActivity extends AppCompatActivity {

private Toolbar toolbar;

private TextView tvEmptyView;
private RecyclerView mRecyclerView;
private DataAdapter mAdapter;
private LinearLayoutManager mLayoutManager;

private ArrayList<Student> studentList;

protected Handler handler;

@Override
protected void …
Run Code Online (Sandbox Code Playgroud)

android json infinite-scroll endlessscroll android-recyclerview

21
推荐指数
1
解决办法
1万
查看次数

如何识别RecyclerView的最后一项是否在屏幕上可见?

我有一个RecyclerView,我添加了数据列表RecyclerView.当RecyclerView屏幕上显示最后一项时,我想在列表中添加更多数据.之后我想进行Web服务调用并更新RecyclerView数据.我怎样才能做到这一点?

有什么建议?

android endlessscroll android-recyclerview

19
推荐指数
2
解决办法
2万
查看次数

如何使用StaggeredLayoutManager实现无限滚动

我已经尝试为LinearLayoutManager实现无限滚动并且它成功并尝试将LinearLayoutManager实现复制到StaggeredGridLayoutManager但它不起作用.

我只想获得firstVisibleItem.

在LinearLayoutManager中:

int firstVisibleItem = linearLayoutManager.findFirstVisibleItemPosition(int);
Run Code Online (Sandbox Code Playgroud)

但在StaggeredGridLayoutManager中是:

int firstVisibleItem = staggeredGridLayoutManager.findFirstVisibleItemPositions(int[])
Run Code Online (Sandbox Code Playgroud)

如何使用(int)not(int [])获取firstVisibleItem?

对此有什么好的方法/实施吗?

提前致谢.

android endlessscroll staggeredgridlayout android-recyclerview

18
推荐指数
3
解决办法
7398
查看次数

为什么RecyclerView.OnScrollListener不是一个接口而是一个抽象类?

要实现Endless Scroll模式,RecyclerView我想要创建一个类

public class EndlessScrollAdapter<VH extends ViewHolder> 
        extends RecyclerView.Adapter<VH> implements RecyclerView.OnScrollListener {
}
Run Code Online (Sandbox Code Playgroud)

因为EndlessScrollAdapter应该负责数据和滚动事件处理,这是实现它的最方便的方法.

但是,因为在recyclerview-v7-21.0.3,这样OnScrollListener宣布

/**
 * An OnScrollListener can be set on a RecyclerView to receive messages
 * when a scrolling event has occurred on that RecyclerView.
 *
 * @see RecyclerView#setOnScrollListener(OnScrollListener)
 */
abstract static public class OnScrollListener {
    /**
     * Callback method to be invoked when RecyclerView's scroll state changes.
     *
     * @param recyclerView The RecyclerView whose scroll state has changed. …
Run Code Online (Sandbox Code Playgroud)

android endlessscroll android-recyclerview

17
推荐指数
2
解决办法
1万
查看次数

在nestedscrollview中无限滚动的Recyclerview触发onScrolled

我在nestedscrollview中有recyclerview:

   <android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <org.apmem.tools.layouts.FlowLayout
                android:id="@+id/filter_view"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@color/green_main"
                android:paddingLeft="@dimen/small_horizontal_margin"
                android:paddingRight="@dimen/small_horizontal_margin"
                />

            <android.support.v7.widget.RecyclerView
                app:layout_behavior="@string/appbar_scrolling_view_behavior"
                android:id="@+id/recycler_view"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:clipToPadding="false"
                android:scrollbars="vertical"
                android:paddingTop="@dimen/vertical_margin"/>

        </LinearLayout>
  </android.support.v4.widget.NestedScrollView>
Run Code Online (Sandbox Code Playgroud)

Recyclerview有OnScrollListener正在处理从这个例子采取无休止的滚动:https://guides.codepath.com/android/Endless-Scrolling-with-AdapterViews-and-RecyclerView.但是看起来nestedscrollview正在触发onScrolled方法,所以整个项目列表都会立即加载.

问题: 如何防止这种行为?

请注意,一切都适用于recyclerview,而不是在nestedscrollview中

android endlessscroll android-recyclerview android-nestedscrollview

11
推荐指数
1
解决办法
2253
查看次数

动态无尽RecyclerView滚动问题

我必须创建以下布局 在此输入图像描述

到目前为止,我已经成功创建了布局并填充了所有视图.但是,我在第一个片段制作ReyclerView Endless时遇到了问题.

考虑到RecyclerView在首次加载时有10个项目,现在滚动我正在添加另外10个项目,依此类推.然而,RecyclerView没有显示那些项目,它的高度在第10个元素的末尾得到修复.我知道元素在RecyclerView中正确加载,如果我尝试用两个手指在模拟器(GenyMotion)上滚动,RecyclerView滚动就好了.

更新: -

RecyclerView的片段代码 -

public class CheckInFragmentRecyclerAdapter extends RecyclerView.Adapter<CheckInFragmentRecyclerAdapter.ViewHolder> {
    final List<StoreNew> stores;

    public CheckInFragmentRecyclerAdapter(final List<StoreNew> stores) {
        this.stores = stores;
    }

    @Override
    public CheckInFragmentRecyclerAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        final View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.child_check_in_fragment, parent, false);
        return new ViewHolder(view);
    }

    @Override
    public void onBindViewHolder(CheckInFragmentRecyclerAdapter.ViewHolder holder, int position) {
        // Setting data
    }


    @Override
    public int getItemCount() {
        return stores.size();
    }

    /**
     * Function to clear existing data from list
     * @param stores StoreNew instance containing …
Run Code Online (Sandbox Code Playgroud)

android android-scrollview endlessscroll android-recyclerview

11
推荐指数
1
解决办法
2545
查看次数

在Recyclerview适配器上设置notifyDataSetChanged()

我正在为RecyclerView实现无休止的数据加载.当软件检测到将显示最后一个项目时,它会下载新项目并调用该loadMoreData()函数,但不会显示新数据集.

当我打电话时notifyDataSetChanged(),没有什么事情发生.

我只有一个刷新视图的解决方案是再次设置适配器,但问题是recyclerview返回到第一个位置然后再次recyclelerview从第一个位置向上滚动到最后一个位置.

RecyclerViewActivity.java

    RecyclerView rv;

    DatabaseHelpr databaseHelpr;

    RVAdapter adapter;

    LocationFinder locationfinder;

    Location currentLocation;

    ArrayList<ServiceModel> childList, list;

    private int MainService_ID, city_id;

    String url2;

    ActionBar actionBar;

    JSONArray items = null;

    Utility utility;

    Double lat, longi;

    LinearLayoutManager llm;

    int counter=0;

    ProgressBar progressBar;

    private static final String TAG_ITEMS = "items";

    private static final String TAG_LOCALITY = "Locality";

    private static final String TAG_BUSINESS_ID = "Business_Id";

    private static final String TAG_LONGITUDE = "Longitude";

    private static final String TAG_BUSINESS_NAME = "Business_Name";

    private …
Run Code Online (Sandbox Code Playgroud)

android notifydatasetchanged endlessscroll recycler-adapter android-recyclerview

8
推荐指数
1
解决办法
4万
查看次数

RecyclerView滚动侦听器的方法onscolled调用自动而不滚动

在实施分页时.我遇到了这个问题.不滚动onscrolled方法不断调用.请检查下面的代码.

作为参考,我正在使用带有AdapterViews和RecyclerView的Endless Scrolling

还有一个演示的例子.

我正在从API请求数据.所以我实施了凌空.安装完成后,发生了奇怪的事情 OnScrolled方法连续调用而不滚动.以下是我的代码.

    HomeFragment.java

    view = inflater.inflate(R.layout.fragment_home, container, false);

    tvNoDataFound = (TextView) view.findViewById(R.id.tv_no_data_found);
    recyclerView = (RecyclerView)view.findViewById(R.id.listView);

    linearLayoutManager = new LinearLayoutManager(getActivity());

    recyclerView.setNestedScrollingEnabled(false);

    recyclerView.setLayoutManager(linearLayoutManager);


    context = view.getContext();

    // Lookup the swipe container view
    swipeProjects = (SwipeRefreshLayout)view.findViewById(R.id.swipeProjects);

    // Setup refresh listener which triggers new data loading
    swipeProjects.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
        @Override
        public void onRefresh() {
            // Your code to refresh the list here.
            // Make sure you call swipeContainer.setRefreshing(false)
            // once the network request has completed successfully.
            getProjects(0,0); …
Run Code Online (Sandbox Code Playgroud)

android android-volley endlessscroll android-recyclerview

5
推荐指数
2
解决办法
1629
查看次数

在嵌套滚动Android中无休止地加载更多recyclerview

我在nestedscrollview内有Recyclerview,我想将nestedscrollview滚动到按钮显示加载中,然后将更多列表加载到recyclerview。

这是我的xml。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="kh.com.iknow.endless.MainActivity">

    <android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
                <Button
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="Filter"/>
                <Button
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="Sort"/>
            </LinearLayout>
            <android.support.v7.widget.RecyclerView
                android:id="@+id/recycler_view"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:clipToPadding="false"
                android:scrollbars="vertical" />
        </LinearLayout>
    </android.support.v4.widget.NestedScrollView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

android infinite-scroll endlessscroll nestedscrollview

4
推荐指数
2
解决办法
4903
查看次数

无尽滚动RecyclerView总是返回顶部

我对无限滚动有疑问。每次加载更多数据时,它都会返回到顶部视图。我想要的是 RecyclerView 在加载新数据时保持在最后一个位置。\n我正在尝试实现此代码https://github.com/codepath/android_guides/wiki/Endless-Scrolling-with-AdapterViews-and-回收视图

\n\n

这是无限滚动代码

\n\n
public abstract class EndlessRecyclerViewScrollListener extends RecyclerView.OnScrollListener{\n// The minimum amount of items to have below your current scroll position\n// before loading more.\nprivate int visibleThreshold = 30;\n// The current offset index of data you have loaded\nprivate int currentPage = 0;\n// The total number of items in the dataset after the last load\nprivate int previousTotalItemCount = 0;\n// True if we are still waiting for the last set of data to load.\nprivate boolean loading = true;\n// Sets …
Run Code Online (Sandbox Code Playgroud)

android infinite-scroll endlessscroll android-recyclerview

3
推荐指数
1
解决办法
2508
查看次数

实施无尽的RecyclerView

我想实现一个无休止的RecyclerView,但到目前为止,我所遇到的所有实现和教程都描述了从服务器加载数据,然后加载数据或使用循环动态添加元素。

就我而言,我已经有一个大的ArrayList,其中包含要在RecyclerView中显示的数据。

我需要说的是,显示数组的前10个项目,加载更多后,显示下一批10。

android endlessscroll android-recyclerview

2
推荐指数
1
解决办法
3772
查看次数

如何实现无休止的滚动列表视图

我正在创建一个应用程序,我在其中使用Json解析来解析数据.我已经实现了listview,在我的回复中我有totalpagecurrent page对象,

新用户将从第一页获取项目.当用户滚动列表视图时,列表会扩展下一页中的项目(以及下一页和下一页等)

这是我的回复 http://pastie.org/10259792

以下是我尝试过的代码:

HomeFragment

public class HomeFragment extends Fragment {
// Listview Adapter
        ListViewAdapter adapters;

            // Connection detector
            ConnectionDetector cd;

            // Alert dialog manager
            AlertDialogManager alert = new AlertDialogManager();

            // Progress Dialog
            private ProgressDialog pDialog;

            // Creating JSON Parser object
            JSONparserr jsonParser = new JSONparserr();

            ArrayList<HashMap<String, String>> WebsiteList;

            // albums JSONArray
            JSONArray data = null;
            String link_url;

            ArrayList<HashMap<String, String>> arrayTemplist;

            private AutoCompleteTextView inputSearch;

            private ListView lv;

            private static final String URL_ALBUMS = ""; …
Run Code Online (Sandbox Code Playgroud)

android json android-listview endlessscroll

-1
推荐指数
1
解决办法
5176
查看次数