package com.znv.linkup.view.indicator; import java.util.List; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import com.znv.linkup.core.config.LevelCfg; /** * Rank下所有关卡的数据适配类 * * @author yzb * */ public class LevelAdapter extends BaseAdapter { public LevelAdapter(Context context, List<LevelCfg> levelCfgs) { this.levelCfgs = levelCfgs; this.levels = new Level[levelCfgs.size()]; for (int i = 0; i < levels.length; i++) { levels[i] = new Level(context, levelCfgs.get(i)); } } /** * 根据关卡配置集合更新 * @param levelCfgs 关卡配置集合 */ public void changeLevelCfgs(List<LevelCfg> levelCfgs, boolean isInit) { for (int i = 0; i < levels.length; i++) { levels[i].changeLevelCfg(levelCfgs.get(i), isInit); } } @Override public int getCount() { return levels.length; } @Override public LevelCfg getItem(int position) { return levelCfgs.get(position); } @Override public long getItemId(int position) { return position; } /** * 获取每一个关卡的视图 */ @Override public View getView(int position, View convertView, ViewGroup parent) { if (position >= 0 && position < levels.length) { return levels[position].getLevelView(); } return null; } private List<LevelCfg> levelCfgs = null; private Level[] levels = null; }