栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

android中RecyclerView的简单使用(四),kotlin协程池

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

android中RecyclerView的简单使用(四),kotlin协程池

public int getItemCount() {

// TODO Auto-generated method stub

return list.size() + 1;

}

@Override

public void onBindViewHolder(ViewHolder holder, final int pos) {

// TODO Auto-generated method stub

if (holder instanceof ItemHolder) {

((ItemHolder) holder).mtv.setText(list.get(pos));

final Integer tag=new Integer(pos);

((ItemHolder) holder).mcb.setTag(tag);

if(map.containsKey(tag)){

((ItemHolder) holder).mcb.setChecked(map.get(tag));

}else{

((ItemHolder) holder).mcb.setChecked(false);

}

((ItemHolder) holder).mcb.setonCheckedChangeListener(new onCheckedChangeListener() {

@Override

public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

// TODO Auto-generated method stub

if(!isChecked){

map.put(tag, true);

}else{

map.put(tag, false);

}

}

});

}

if (holder instanceof FooterHolder) {

//判断底部视图加载状态

switch (loadState) {

case LOADING:

((FooterHolder) holder).mpb.setVisibility(View.VISIBLE);

((FooterHolder) holder).mtv.setText(“正在加载更多数据…”);

break;

case NO_MORE:

((FooterHolder) holder).mpb.setVisibility(View.GONE);

((FooterHolder) holder).mtv.setText(“没有更多数据了…”);

break;

}

}

}

@Override

public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

// TODO Auto-generated method stub

//根据viewHolder判断布局的加载

switch (viewType) {

case ITEM_VIEW:

View v = LayoutInflater.from(context).inflate(R.layout.item,

parent, false);

ItemHolder holder = new ItemHolder(v);

return holder;

case FOOTER_VIEW:

View fv = LayoutInflater.from(context).inflate(R.layout.footer,

parent, false);

FooterHolder fholder = new FooterHolder(fv);

return fholder;

}

return null;

}

}

class ItemHolder extends ViewHolder {

public TextView mtv;

public CheckBox mcb;

public ItemHolder(View v) {

super(v);

// TODO Auto-generated constructor stub

mtv = (TextView) v.findViewById(R.id.mtv);

mcb=(CheckBox) v.findViewById(R.id.mcb);

}

}

class FooterHolder extends ViewHolder {

public ProgressBar mpb;

public TextView mtv;

public FooterHolder(View v) {

super(v);

// TODO Auto-generated constructor stub

mpb = (ProgressBar) v.findViewById(R.id.mpb);

mtv = (TextView) v.findViewById(R.id.mtv);

}

}

然后就是MainActivity中的代码:

package com.example.cn.bgs.swiprecycleviewdemo;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import android.os.Bundle;

import android.os.Handler;

import android.app.Activity;

import android.support.v4.widget.SwipeRefreshLayout;

import android.support.v4.widget.SwipeRefreshLayout.OnRefreshListener;

import android.support.v7.widget.LinearLayoutManager;

import android.support.v7.widget.RecyclerView;

import android.support.v7.widget.RecyclerView.OnScrollListener;

import android.view.Menu;

public class MainActivity extends Activity {

private RecyclerView mrv;

private SwipeRefreshLayout mswip;

private MyAdapter adapter;

//判断是否加载数据

private boolean isLoading;

//当前页面能见的最后一个item的id

private int lastId;

private int state;

private LinearLayoutManager linearManager;

//能显示的数据最大值

private int maxSize = 48;

//底部视图的两种状态

private static final int LOADING = 3;

private static final int NO_MORE = 4;

private List list = new ArrayList();

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mrv = (RecyclerView) findViewById(R.id.mrv);

linearManager = new LinearLayoutManager(this);

mswip = (SwipeRefreshLayout) findViewById(R.id.mswip);

list = new ArrayList();

for (int i = 0; i < 20; i++) {

list.add(“item” + i);

}

adapter = new MyAdapter(this, list);

mrv.setAdapter(adapter);

本文在开源项目:Android开发不会这些?如何面试拿高薪! 中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…

ter(adapter);

本文在开源项目:Android开发不会这些?如何面试拿高薪! 中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/756360.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号