Skip to content

Commit

Permalink
结构调整
Browse files Browse the repository at this point in the history
  • Loading branch information
GcsSloop committed Apr 10, 2017
1 parent a78a448 commit bd136f5
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -215,18 +215,73 @@ public void onStop() {

//--- 需要继承类处理的部分 ----------------------------------------------------------------------

/**
* 加载数初始化数据,可以从缓存或者其他地方加载,
* 如果没有初始数据,一般调用 loadMore() 即可。
*
* @param adapter 适配器
*/
public abstract void initData(HeaderFooterAdapter adapter);

/**
* 为 RecyclerView 的 Adapter 注册数据类型
* 例如: adapter.register(Bean.class, new BeanProvider(getContext()));
*
* @param context 上下文
* @param recyclerView RecyclerView
* @param adapter Adapter
*/
protected abstract void setAdapterRegister(Context context, RecyclerView recyclerView,
HeaderFooterAdapter adapter);

/**
* 获取 RecyclerView 的 LayoutManager
* 例如: return new LinerLayoutManager(context);
*
* @return LayoutManager
*/
@NonNull protected abstract RecyclerView.LayoutManager getRecyclerViewLayoutManager();

/**
* 请求数据,并返回请求的 uuid
* 例如:return mDiycode.getTopicsList(null, mNodeId, offset, limit);
*
* @param offset 偏移量
* @param limit 请求数量
* @return uuid
*/
@NonNull protected abstract String request(int offset, int limit);

/**
* 数据刷新成功的回调,由于不同页面可能要对数据进行处理,例如重新排序,清理掉一些无效数据等,所以由子类自己实现,
* 如果不需要特殊处理,一般像下面这样写就行:
* adapter.clearDatas();
* adapter.addDatas(event.geiBean());
*
* @param event Event
* @param adapter Adapter
*/
protected abstract void onRefresh(Event event, HeaderFooterAdapter adapter);

/**
* 数据加载成功时调用,如果不需要对数据进行特殊处理,这样写就行:
* adapter.addDatas(event.getBean());
*
* @param event Event
* @param adapter Adapter
*/
protected abstract void onLoadMore(Event event, HeaderFooterAdapter adapter);

/**
* 数据加载错误时调用,你可以在这里获取错误类型并进行处理,如果不需要特殊处理,弹出一个 toast 提醒用户即可。
* if (postType.equals(POST_LOAD_MORE)) {
* toast("加载更多失败");
* } else if (postType.equals(POST_REFRESH)) {
* toast("刷新数据失败");
* }
*
* @param event
* @param postType
*/
protected abstract void onError(Event event, String postType);
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;

import com.gcssloop.diycode.base.recyclerview.SpeedyLinearLayoutManager;
import com.gcssloop.recyclerview.layoutmanager.SpeedyLinearLayoutManager;
import com.gcssloop.diycode_sdk.api.base.event.BaseEvent;
import com.gcssloop.recyclerview.adapter.multitype.HeaderFooterAdapter;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Last modified 2017-04-09 01:38:32
* Last modified 2017-04-10 20:16:42
*
* GitHub: https://github.com/GcsSloop
* Website: http://www.gcssloop.com
* Weibo: http://weibo.com/GcsSloop
*/

package com.gcssloop.diycode.base.recyclerview;
package com.gcssloop.recyclerview.layoutmanager;

import android.content.Context;
import android.graphics.PointF;
Expand Down

0 comments on commit bd136f5

Please sign in to comment.