Salesforce 列表索引超出范围:1
我已经创建了一个VF页面,其中有2个按钮1,用于按1添加InputExt 1,第2个按钮用于按1删除InputExt 1。 该过程正在使用凌晨1点的捆进行添加和删除。但到最后一刻,这是一个错误。例如:如果添加了3个输入文本1,2,3 我可以删除3,2,但当我删除1时,它通过是一个错误 列表索引超出范围:1 这是我的密码 公共页面引用取消(){Salesforce 列表索引超出范围:1,salesforce,Salesforce,我已经创建了一个VF页面,其中有2个按钮1,用于按1添加InputExt 1,第2个按钮用于按1删除InputExt 1。 该过程正在使用凌晨1点的捆进行添加和删除。但到最后一刻,这是一个错误。例如:如果添加了3个输入文本1,2,3 我可以删除3,2,但当我删除1时,它通过是一个错误 列表索引超出范围:1 这是我的密码 公共页面引用取消(){ system.debug('@@@@@@@@@@@@@@@@@@@@@@@eqLstNew Out'+eqLstNew.size()); 整数i=0; i
system.debug('@@@@@@@@@@@@@@@@@@@@@@@eqLstNew Out'+eqLstNew.size());
整数i=0;
if(i在if
末尾调用i++
:
public PageReference cancel() {
system.debug('@@@@@@@@@@@@@@@@@@@ eqLstNew Out ' + eqLstNew.size());
integer i =0;
if( i<eqLstNew.size()){
system.debug('@@@@@@@@@@@@@@@@@@@ eqLstNew 1st ' + eqLstNew.size());
system.debug('@@@@@@@@@@@@@@@@@@@ i size ' + i);
eqLstNew.remove(i);
i++;
}
return null;
}
列表中的第一个元素位于索引0处,而不是索引1处。如果有多个元素,则此操作有效,因为在执行列表时实际上正在删除列表中的第二个元素。删除(1)。您应该执行列表。删除(0)如果你想删除第一个元素,请改为删除。我不知道为什么我会把它弄得这么复杂。但是不管怎样,它都能工作,谢谢你的回答。等等,以前没有循环吗?或者我刚才读过“如果(我
public PageReference cancel() {
system.debug('@@@@@@@@@@@@@@@@@@@ eqLstNew Out ' + eqLstNew.size());
integer i =0;
if( i<eqLstNew.size()){
system.debug('@@@@@@@@@@@@@@@@@@@ eqLstNew 1st ' + eqLstNew.size());
system.debug('@@@@@@@@@@@@@@@@@@@ i size ' + i);
eqLstNew.remove(i);
i++;
}
return null;
}
public PageReference cancel() {
if(eqLstNew.size() > 0){
eqLstNew.remove(0);
}
return null;
}