MCPcopy Index your code
hub / github.com/Syehunter/RecyclerViewManager

github.com/Syehunter/RecyclerViewManager @0.1.7

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.1.7 ↗ · + Follow
175 symbols 357 edges 20 files 37 documented · 21%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

RecyclerViewManager

RecyclerViewManager supports PullToRefresh and LoadMore, U can also add headers or footers for RecyclerView. Also supports onItemClickEvent.

Use setMode() if you want it PullDown or LoadMore only. With RecyclerMode.PullDown replace setOnRefreshListener() to setOnPullDownListener(), and use setOnLoadMoreListener() in the same way.

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

dependencies {
    compile 'com.github.Syehunter:RecyclerViewManager:0.1.6.6'
}

RecyclerViewManagerDemo.gif

Layout:

<space.sye.z.library.widget.RefreshRecyclerView
    android:id="@+id/recyclerView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

Usage in Activity or some others:

recyclerView = (RefreshRecyclerView) findViewById(R.id.recyclerView);
MyAdapter myAdapter = new MyAdapter(); //a RecyclerView.Adapter

RecyclerViewManager.with(myAdapter, new LinearLayoutManager(this))
            .setMode(RecyclerMode.BOTH)
            .addHeaderView(header)
            .addHeaderView(header2)
            .addFooterView(footer)
            .setOnBothRefreshListener(new OnBothRefreshListener() {
                @Override
                public void onPullDown() {
                    //模拟网络请求
                    Message msg = new Message();
                    msg.what = PULL_DOWN;
                    mHandler.sendMessageDelayed(msg, 2000);
                }

                @Override
                public void onLoadMore() {
                    //模拟网络请求
                    Message msg = new Message();
                    msg.what = LOAD_MORE;
                    mHandler.sendMessageDelayed(msg, 2000);
                }
            })
            .setOnItemClickListener(new RefreshRecyclerViewAdapter.OnItemClickListener() {
                @Override
                public void onItemClick(RecyclerView.ViewHolder holder, int position) {
                    Toast.makeText(MainActivity.this, "item" + position, Toast.LENGTH_SHORT).show();
                }
            })
            .into(recyclerView, this);

private Handler mHandler = new Handler(){
    @Override
    public void handleMessage(Message msg) {
        switch (msg.what){
            case PULL_DOWN:
                mDatas.add(0, "new Item");
                break;
            case LOAD_MORE:
                for (int i = 0; i < 10; i++){
                    mDatas.add("item" + (counts + i));
                }
                counts = counts + 10;
                break;
        }
        recyclerView.onRefreshCompleted();
        mAdapter.notifyDataSetChanged();
    }
};

Use recyclerView.real() to get the real RecyclerView if you want to use methods of it.

Simple Introduction for RecyclerViewManager(Chinese): http://z.sye.space/2015/11/23/RecyclerViewManager/

Extension points exported contracts — how you extend this code

OnPullDownListener (Interface)
Created by Syehunter on 2015/11/21. [1 implementers]
library/src/main/java/space/sye/z/library/listener/OnPullDownListener.java
OnLoadMoreListener (Interface)
Created by Syehunter on 2015/11/21. [1 implementers]
library/src/main/java/space/sye/z/library/listener/OnLoadMoreListener.java
OnBothRefreshListener (Interface)
Created by Syehunter on 2015/11/21. [1 implementers]
library/src/main/java/space/sye/z/library/listener/OnBothRefreshListener.java
OnItemClickListener (Interface)
(no doc) [1 implementers]
library/src/main/java/space/sye/z/library/adapter/RefreshRecyclerViewAdapter.java
OnItemLongClickListener (Interface)
(no doc)
library/src/main/java/space/sye/z/library/adapter/RefreshRecyclerViewAdapter.java

Core symbols most depended-on inside this repo

getHeadersCount
called by 21
library/src/main/java/space/sye/z/library/adapter/RefreshRecyclerViewAdapter.java
getInstance
called by 13
library/src/main/java/space/sye/z/library/manager/RefreshRecyclerAdapterManager.java
getItemCount
called by 8
library/src/main/java/space/sye/z/library/adapter/RefreshRecyclerViewAdapter.java
getAdapter
called by 8
library/src/main/java/space/sye/z/library/manager/RefreshRecyclerAdapterManager.java
getFootersCount
called by 5
library/src/main/java/space/sye/z/library/adapter/RefreshRecyclerViewAdapter.java
tryUpdateLastUpdateTime
called by 4
library/src/main/java/space/sye/z/library/widget/RefreshHeader.java
setLayoutManager
called by 4
library/src/main/java/space/sye/z/library/manager/RecyclerViewManager.java
init
called by 3
library/src/main/java/space/sye/z/library/RefreshRecyclerView.java

Shape

Method 150
Class 19
Interface 5
Enum 1

Languages

Java100%

Modules by API surface

library/src/main/java/space/sye/z/library/adapter/RefreshRecyclerViewAdapter.java35 symbols
library/src/main/java/space/sye/z/library/widget/RefreshHeader.java23 symbols
library/src/main/java/space/sye/z/library/manager/RefreshRecyclerAdapterManager.java19 symbols
library/src/main/java/space/sye/z/library/RefreshRecyclerView.java18 symbols
app/src/main/java/space/sye/z/recyclerviewmanager/MainActivity.java14 symbols
library/src/main/java/space/sye/z/library/widget/RotateLoadingLayout.java11 symbols
library/src/main/java/space/sye/z/library/listener/LoadMoreRecyclerListener.java11 symbols
library/src/main/java/space/sye/z/library/manager/RecyclerViewManager.java9 symbols
library/src/main/java/space/sye/z/library/widget/RefreshLoadingLayout.java7 symbols
library/src/main/java/space/sye/z/library/widget/FlipLoadingLayout.java7 symbols
library/src/main/java/space/sye/z/library/manager/HeaderSapnSizeLookUp.java3 symbols
library/src/main/java/space/sye/z/library/listener/OnBothRefreshListener.java3 symbols

For agents

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

⬇ download graph artifact