MCPcopy Index your code
hub / github.com/Batterii/PagingRecycler

github.com/Batterii/PagingRecycler @v1.1.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.1.1 ↗ · + Follow
48 symbols 75 edges 4 files 12 documented · 25% updated 9y agov1.1.1 · 2017-04-18★ 1391 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

PagingRecycler

A quick way to implement a paging pattern for a RecyclerView. PagingRecycler will show a "loading" view at the bottom of your RecyclerView while you are waiting for a page of results from your api call, then remove it when you are finished.

Gradle


  allprojects {
        repositories {
            ...
            maven { url "https://jitpack.io" }
        }
    }

        dependencies {
            compile 'com.github.Batterii:PagingRecycler:v1.1'
    }

Usage

Adapter


public class MyAdapter extends PagingAdapter{

  private List<Item> myItems;

  public MyAdapter(){
    myItems = new ArrayList<>();
  }

  @Override
    public int getPagingLayout() {
        return R.layout.paging_item;
  }

  @Override
  public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    // Do your normal view creation

    // End with this
    return super.onCreateViewHolder(parent, viewType);

  }  

  @Override
  public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
    // Call super!
    super.onBindViewHolder(holder, position);

    // Do your normal binding

  }

  @Override
  public int getItemCount() {
    // just return super here
    return super.getItemCount();
  }

  @Override
  public int getPagingItemCount() {
    // return your actual item size here
    return myItems.size();
  }

}

Your Activity/Fragment etc.


public class MyActivity extends AppCompatActivity implements PagingDelegate.OnPageListener{

 @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);

      MyAdapter adapter = new MyAdapter();

      RecyclerView mRecycler = (RecyclerView)findViewById(R.id.my_recycler);

      PagingDelegate pagingDelegate = new PagingDelegate.Builder(adapter)
                .attachTo(mRecycler)
                .listenWith(this)
                .build();

      mRecycler.setAdapter(adapter);
  }

   @Override
    public void onPage(int offset) {
        // Perform your paging request
    }

    @Override
    public void onDonePaging() {

    }

  }

License

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Extension points exported contracts — how you extend this code

OnPageListener (Interface)
(no doc)
library/src/main/java/com/akiniyalocts/pagingrecycler/PagingDelegate.java

Core symbols most depended-on inside this repo

getItemCount
called by 3
library/src/main/java/com/akiniyalocts/pagingrecycler/PagingAdapter.java
getPagingItemCount
called by 2
library/src/main/java/com/akiniyalocts/pagingrecycler/PagingAdapter.java
getPagingLayout
called by 1
library/src/main/java/com/akiniyalocts/pagingrecycler/PagingAdapter.java
getItemViewType
called by 1
library/src/main/java/com/akiniyalocts/pagingrecycler/PagingAdapter.java
setOnPageListener
called by 1
library/src/main/java/com/akiniyalocts/pagingrecycler/PagingDelegate.java
setPagingAdapter
called by 1
library/src/main/java/com/akiniyalocts/pagingrecycler/PagingDelegate.java
setRecyclerView
called by 1
library/src/main/java/com/akiniyalocts/pagingrecycler/PagingDelegate.java
setAutoPage
called by 1
library/src/main/java/com/akiniyalocts/pagingrecycler/PagingDelegate.java

Shape

Method 41
Class 6
Interface 1

Languages

Java100%

Modules by API surface

library/src/main/java/com/akiniyalocts/pagingrecycler/PagingDelegate.java30 symbols
library/src/main/java/com/akiniyalocts/pagingrecycler/PagingAdapter.java14 symbols
library/src/test/java/com/akiniyalocts/pagingrecycler/ExampleUnitTest.java2 symbols
library/src/androidTest/java/com/akiniyalocts/pagingrecycler/ApplicationTest.java2 symbols

For agents

$ claude mcp add PagingRecycler \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact