java List set()方法用法

本文介绍了一种Android应用程序中管理Activity的方法。通过使用List集合来跟踪和管理Activity实例,确保每个Activity仅被加载一次,并能够在不同Activity间进行有效的切换。文章详细展示了如何初始化Activity集合以及如何在集合中设置当前Activity。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在看公司的新项目框架时,是这样的逻辑;把每个activity存放在list集合中,

private List<String> iActiNameList = new ArrayList<String>(); // Activity名称集合


public static final int ACTIVITY_IDX_WEL = 0; // 引导页
public static final int ACTIVITY_IDX_SHOW = 1; // 展示页面
public static final int ACTIVITY_IDX_LOGIN = 2;        // 登陆界面
public static final int ACTIVITY_IDX_HOME = 3;        // 主界面


iActiNameList.add(ACTIVITY_IDX_WEL, WelcomeActivity.class.getName());//往集合第0个位置加入activity
iActiNameList.add(ACTIVITY_IDX_SHOW, ShowActivity.class.getName());
iActiNameList.add(ACTIVITY_IDX_LOGIN, LoginActivity.class.getName());
iActiNameList.add(ACTIVITY_IDX_HOME,  HomeActivity.class.getName());


这是按顺序把集合存放到集合中,然后判断如果该集合中已有当前的activity就不存放


/**
* @param activity 当前activity
*/
public void setCurrActivity(Activity activity) {
iCurrActiIdx = getActiIdxFromClsName(activity.getClass().getName());
if (iAllActi.get(iCurrActiIdx) != activity) {//如果集合中没有这个activity就加入到集合中
iAllActi.set(iCurrActiIdx, activity);//
}
}


public List<Activity> iAllActi; // Activity集合

iAllActi = new ArrayList<Activity>(iActiNameList.size());
int len = iActiNameList.size();

/**
* 这个循环只是确定了iAllActi集合的size,但是集合内容为null
*/
for(int i=0;i<len;i++){
iAllActi.add(i, null);
}

iAllActi集合相当于定义了集合的size,内容为null

if (iAllActi.get(iCurrActiIdx) != activity) {//如果集合中没有这个activity就加入到集合中
iAllActi.set(iCurrActiIdx, activity);//
}

这是集合中加入activity的,

list集合的set方法就是在指定的位置加入到集合中,集合的size大小不变。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值