0

st1、st2、st3、st4、st5、st6、st7 のような複数の文字列があります。今私はその文字列をそのカウンター(私の場合はint i)を使ってforループを通して動的に取得したいと思っています。"st"+ i のようなものですが、アンドロイドはそれを受け入れないので、文字列を動的に取得するにはどうすればよいですか。詳細については、ここにコードのチャンクがあります

String image1 = cData.getString(cData.getColumnIndex("fld_image_url1"));
String image2 = cData.getString(cData.getColumnIndex("fld_image_url2"));
String image3 = cData.getString(cData.getColumnIndex("fld_image_url3"));
String image4 = cData.getString(cData.getColumnIndex("fld_image_url4"));
ArrayList<String> imagesArray = new ArrayList<String>();

 //for adding the string in the arraylist dynamically
for(int i=1;i<=4;i++){
    if("image"+i!=null){
        imagesArray.add(String.valueOf("image"+ i));    
    }
}
4

2 に答える 2

3

次のようなものはどうですか:

List<String> imagesArray = new ArrayList<String>();
for (int i = 1; i <= 4; i++) {
    String image = cData.getString(cData.getColumnIndex("fld_image_url" + i));
    if (image != null) {
        imagesArray.add(image);
    }
}
于 2012-12-31T07:42:54.950 に答える
1

カーソルから動的に値を取得する場合は、コードを次のように変更します。

 //for adding the string in the arraylist dynamically
for(int i=1;i<=4;i++){

        int count = cData.getColumnIndex("fld_image_url"+i));
        if(count != -1)
         imagesArray.add(cData.getString(count)); 
}
于 2012-12-31T07:43:28.020 に答える