0
好吧,我有一個包含大量列和行的表,並且需要從SQLite數據庫中填充每個TextView。這就是我正在做的(深呼吸你注視它之前,它是你見過最糟糕的代碼之一):動態更改要調用的變量
populateUrnik("Ponedeljek", 1, razred, pon1, pon1u);
populateUrnik("Torek", 1, razred, tor1, tor1u);
populateUrnik("Sreda", 1, razred, sre1, sre1u);
populateUrnik("Četrtek", 1, razred, cet1, cet1u);
populateUrnik("Petek", 1, razred, pet1, pet1u);
populateUrnik("Ponedeljek", 2, razred, pon2, pon2u);
populateUrnik("Torek", 2, razred, tor2, tor2u);
populateUrnik("Sreda", 2, razred, sre2, sre2u);
populateUrnik("Četrtek", 2, razred, cet2, cet2u);
populateUrnik("Petek", 2, razred, pet2, pet2u);
populateUrnik("Ponedeljek", 3, razred, pon3, pon3u);
populateUrnik("Torek", 3, razred, tor3, tor3u);
populateUrnik("Sreda", 3, razred, sre3, sre3u);
populateUrnik("Četrtek", 3, razred, cet3, cet3u);
populateUrnik("Petek", 3, razred, pet3, pet3u);
populateUrnik("Ponedeljek", 4, razred, pon4, pon4u);
populateUrnik("Torek", 4, razred, tor4, tor4u);
populateUrnik("Sreda", 4, razred, sre4, sre4u);
populateUrnik("Četrtek", 4, razred, cet4, cet4u);
populateUrnik("Petek", 4, razred, pet4, pet4u);
populateUrnik("Ponedeljek", 5, razred, pon5, pon5u);
populateUrnik("Torek", 5, razred, tor5, tor5u);
populateUrnik("Sreda", 5, razred, sre5, sre5u);
populateUrnik("Četrtek", 5, razred, cet5, cet5u);
populateUrnik("Petek", 5, razred, pet5, pet5u);
populateUrnik("Ponedeljek", 6, razred, pon6, pon6u);
populateUrnik("Torek", 6, razred, tor6, tor6u);
populateUrnik("Sreda", 6, razred, sre6, sre6u);
populateUrnik("Četrtek", 6, razred, cet6, cet6u);
populateUrnik("Petek", 6, razred, pet6, pet6u);
populateUrnik("Ponedeljek", 7, razred, pon7, pon7u);
populateUrnik("Torek", 7, razred, tor7, tor7u);
populateUrnik("Sreda", 7, razred, sre7, sre7u);
populateUrnik("Četrtek", 7, razred, cet7, cet7u);
populateUrnik("Petek", 7, razred, pet7, pet7u);
populateUrnik("Ponedeljek", 8, razred, pon8, pon8u);
populateUrnik("Torek", 8, razred, tor8, tor8u);
populateUrnik("Sreda", 8, razred, sre8, sre8u);
populateUrnik("Četrtek", 8, razred, cet8, cet8u);
populateUrnik("Petek", 8, razred, pet8, pet8u);
populateUrnik("Ponedeljek", 9, razred, pon9, pon9u);
populateUrnik("Torek", 9, razred, tor9, tor9u);
populateUrnik("Sreda", 9, razred, sre9, sre9u);
populateUrnik("Četrtek", 9, razred, cet9, cet9u);
populateUrnik("Petek", 9, razred, pet9, pet9u);
populateUrnik("Ponedeljek", 10, razred, pon10, pon10u);
populateUrnik("Torek", 10, razred, tor10, tor10u);
populateUrnik("Sreda", 10, razred, sre10, sre10u);
populateUrnik("Četrtek", 10, razred, cet10, cet10u);
populateUrnik("Petek", 10, razred, pet10, pet10u);
populateUrnik("Ponedeljek", 11, razred, pon11, pon11u);
populateUrnik("Torek", 11, razred, tor11, tor11u);
populateUrnik("Sreda", 11, razred, sre11, sre11u);
populateUrnik("Četrtek", 11, razred, cet11, cet11u);
populateUrnik("Petek", 11, razred, pet11, pet11u);
因此,大家可以看到,我只更換3調用這些函數時的情況:1-11和兩個textview變量pon1,pon1u等的數字(文字查看)
有沒有辦法讓一個for循環改變哪個變量來調用dyinamiaclly?可能是這樣的:
for (int i = 1; i <= 11; i++){
populateUrnik("Ponedeljek", i, razred, pon(i), pon(i)u);
}
我知道上面的語法是不可能的,但我只是試圖說明我想實現什麼。
有關如何改善這種長而糟糕的代碼的任何其他建議將非常受歡迎!
使用反射。 http://docs.oracle.com/javase/tutorial/reflect/ – dinesh707