Swipe Refresh Layout + Recycler View + Base Quick Adapter, 당신만의 업로드, 드롭다운 리셋 컨트롤
11605 단어 안드로이드
1, module 종속성 구성:
implementation 'com.android.support:support-v4:26.0.2'implementation 'com.android.support:recyclerview-v7:26.0.2'compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.28'2.activity xml布局:
< android.support.v4.widget.SwipeRefreshLayoutandroid :id= "@+id/swiperefreshlayout"android :layout_width= "match_parent"android :layout_height= "match_parent" >< android.support.v7.widget.RecyclerViewandroid :id= "@+id/recylerview"android :layout_width= "match_parent"android :layout_height= "match_parent" />android.support.v4.widget.SwipeRefreshLayout >3.添加自己的Bean实体类
4.自定义Adapter继承BaseQuickAdapter
convert(BaseViewHolder helper, Beans item) ,
helper.setText(int id,String str)
helper.setImageResource(int id,int resouceId)
helper.addOnClickListener(int id)
helper.setVisible(int id,boolean isInvisible) invisible
helper.setGone(int id,boolean isVisiable)true visible,false gone
5.activity:
1, 데이터 초기화 및 adapter 바인딩 recylerView:swipeRefreshLayout = view.findViewById(R.id.swiperefreshlayout); recyclerView = view.findViewById(R.id.recylerview); itemList = new ArrayList<>(); adapter = new HisOrderAdapter(R.layout.layout_his_order,itemList,status); recyclerView.setAdapter(adapter); adapter.bindToRecyclerView(recyclerView); adapter.setEnableLoadMore(true); adapter.openLoadAnimation(); adapter.disableLoadMoreIfNotFullPage(); recyclerView.setLayoutManager(new LinearLayoutManager(getActivity(),LinearLayoutManager.VERTICAL,false)); adapter.setEmptyView(R.layout.view_nodata);
2, adapter를 설정하여 더 많은 스니퍼 이벤트를 로드합니다.adapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() { @Override public void onLoadMoreRequested() { recyclerView.postDelayed(new Runnable() { @Override public void run() { httpLoadMore(); } },1000); } }, recyclerView);
3, SwipeRefreshLayout 로드 데이터 수신을 설정합니다.swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { refresh(); } });
4, adapter 설정 하위 컨트롤 클릭 감청 이벤트:adapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() { @Override public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) { switch (view.getId()){ case R.id.: break; case R.id.: break; } } });
5.adapter 설정 자체 item 클릭 감청 이벤트:adapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() { @Override public void onItemClick(BaseQuickAdapter adapter, View view, int position) { } });
6. 고려 사항:
SwipeRefreshLayout이 로드되면 애니메이션을 종료하는 방법은 다음과 같습니다.swipeRefreshLayout.setRefreshing(false);
adapter가 로드되면 애니메이션을 종료하는 방법은 다음과 같습니다.adapter.loadMoreComplete(); adapter.loadMoreEnd();
adapter 업데이트 데이터 방법은 다음과 같습니다.adapter.setNewData(list);
오케이, 큰일 났다.
ps:BaseQuickAdapter github 주소:https://github.com/CymChad/BaseRecyclerViewAdapterHelper.대단해, 관심 있는 사람은 see see로 갈 수 있어.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
VisualStudio에서 Ant를 사용하여 Native APK를 만듭니다.※2019/11/13 Gradle판의 기사도 올랐습니다. 자세한 내용은 을 참조하십시오. CEDEC2019의 " "이라는 세션에서 VisualStudio에서도 Gradle을 사용한 Native 앱을 만들 수 있다는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.