如何将项目添加到列表适配器,但每次迭代n时,它都会添加到不同的列表和不同的适配器,谢谢!
//我的第一个代码
int n = 1;
while (n != 16) {
Day(n, Fullname);
n +=1 ;
}
//将添加到列表和适配器的另一个
private void Day(int n,String Fullname){
String Date = "0" + n + "-" + Month + "-" + Year;
Cursor c = db.GetSpecific(Fullname,Date);
String allowancecount = "";
int intallowancecount = 0;
double totalCom = 0;
while(c.moveToNext()){
String serviceprice = c.getString(4);
String serviceperformedbynumber = c.getString(10);
allowancecount = c.getString(12);
intallowancecount = intallowancecount + Integer.parseInt(allowancecount.trim());
double income = Integer.parseInt(serviceprice.trim())/
Integer.parseInt(serviceperformedbynumber.trim());
totalCom = totalCom + income ;
//here what to do?
String add ="List" + n + ".add(String.valueOf(" + income + "));";
do add;//???????
}
//here what to do?
String Dynamic = "Com" + n + ".setText(String.valueOf(" + totalCom + "))";
do Dynamic ;//?????????
String Dynamicadapter = "Lv" + n + ".setAdapter(adapter" + n + ")";
do Dynamicadapter ;//????????
}
我只是在想这是否可能,但如果没有,我会以我知道的另一种方式做到这一点,对任何建议持开放态度,再次感谢。
答案 0 :(得分:0)
在Java中无法使用变量名称分配变量。但是,有些东西可以用于这些类型的情况,这些情况允许您几乎执行此操作,但所有内容都在运行时正确创建,而无需动态行为。例如,您可以考虑使用associative array
。
取自维基百科 - https://en.wikipedia.org/wiki/Comparison_of_programming_languages_(mapping)#Java
在Java中,关联数组实现为“地图”;他们是一部分 Java集合框架。自J2SE 5.0和引入 将泛型转换为Java,集合可以指定类型;对于 例如,将字符串映射到字符串的关联数组可能是 指定的
因此,鉴于此,您可以使用Map
并重新构建代码以执行以下操作:
setAdapter()
)i
(或任何您想用作key
的内容)将其添加到地图中map
/动态'变量名称'{/ 1>从key
访问它
醇>
Map<Integer, ArrayAdapter<String>> map = new HashMap<Integer, ArrayAdapter<String>>();
for(int i = 0; i < 10; i++)
{
map.put(i, yourAdapter);
}