gpt4 book ai didi

java - 如何使用 For 循环来减少以下代码中的行数?

转载 作者:行者123 更新时间:2023-12-02 05:42:15 27 4
gpt4 key购买 nike

我正在尝试使用 SQLite 中的数据填充列表。如何使用 For 循环来减少以下代码中的行数?我必须将字符串数组 fa、fe、fi、fo 传递给 ListAdapter。

    arrayList = new ArrayList<>();
Cursor res = myhelp.getAllData();

if (res.getCount() == 0) {
Toast.makeText(this, "No data", Toast.LENGTH_SHORT).show();
}else {
while (res.moveToNext()) {

arrayList.add(res.getString(0));
fa = arrayList.toArray(new String[0]);

}
}
arrayList1 = new ArrayList<>();
Cursor res1 = myhelp.getAllData();

while (res1.moveToNext()) {

arrayList1.add(res1.getString(1));
fe = arrayList1.toArray(new String[0]);


}
arrayList2 = new ArrayList<>();
Cursor res2 = myhelp.getAllData();

while (res2.moveToNext()) {

arrayList2.add(res2.getString(2));
fi = arrayList2.toArray(new String[0]);


}
arrayList3 = new ArrayList<>();
Cursor res3 = myhelp.getAllData();

while (res3.moveToNext()) {

arrayList3.add(res3.getString(3));
fo = arrayList3.toArray(new String[0]);

}

最佳答案

由于您的源数据始终相同,因此无需多次重新读取,只需循环一次即可

arrayList = new ArrayList<>();
arrayList1 = new ArrayList<>();
arrayList2 = new ArrayList<>();
// etc
Cursor res = myhelp.getAllData();
while (res.moveToNext()) {

arrayList.add(res.getString(0));
fa = arrayList.toArray(new String[0]);
arrayList1.add(res.getString(1));
fe = arrayList1.toArray(new String[0]);
arrayList2.add(res.getString(2));
fi = arrayList2.toArray(new String[0]);
// etc

}

注意

不知道什么fa = arrayList.toArray(new String[0]);正在做,但我认为你可以在循环之后做

关于java - 如何使用 For 循环来减少以下代码中的行数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56125370/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com