我有一个名为arrstatus的arraylist,它有一组动态存储的数值。 我必须用唯一字符串值替换那些数字值。 我尝试了各种方法似乎并没有起作用 我尝试Set方法,没有工作,
// int[] flags = new int[arrstatus_old.size()];
int [] c = new int [arrtaskid.size()];
Toast.makeText(MyTask.this, "C:"+c, Toast.LENGTH_LONG).show();
for(int j=1;j<= c.length;j++)
{
if(arrstatus.get(j).equals("1"))
{
arrstatus_old.set(j, "Saved");
}
else if(arrstatus.get(j).equals("2"))
{
arrstatus_old.set(j, "Assigned");
}
else if(arrstatus.get(j).equals("3"))
{
arrstatus_old.set(j, "Accepted");
}
else if(arrstatus.get(j).equals("4"))
{
arrstatus_old.set(j, "Rejected");
}
}
我没有达到arrastutus的大小,它说0 因此没有价值被取代, 任何更好的想法来取代价值。?
答案 0 :(得分:1)
存储ArrayList
即1
的{{1}}应以numbers
格式存储数字。
您的arrayList应该像String
ArrayList<String>
当您使用 ArrayList<String> arrstatus = new ArrayList<String>();
arrstatus.add("1");
arrstatus.add("2");
arrstatus.add("3");
检查arraylist时,您将添加数字作为字符串。
equals
依旧......
答案 1 :(得分:0)
ArrayList<String> arrstatus = new ArrayList<String>();
arrstatus.add("1");
arrstatus.add("2");
arrstatus.add("3");
arrstatus.add("4");
for(int j=0;j< c.length;j++)
{
if(arrstatus.get(j).equals("1"))
{
arrstatus_old.set(j, "Saved");
}
else if(arrstatus.get(j).equals("2"))
{
arrstatus_old.set(j, "Assigned");
}
else if(arrstatus.get(j).equals("3"))
{
arrstatus_old.set(j, "Accepted");
}
else if(arrstatus.get(j).equals("4"))
{
arrstatus_old.set(j, "Rejected");
}
}