2017-10-12 5 views
0

からアンドロイドのidリソースを取得し、私が持っているいくつかのImageViewsactivity_main.xml中):imageView_0imageView_1imageView_2imageView_3私Kotlinアプリでは、文字列

0から3のループでビューにアクセスするにはどうすればよいですか?これは動作しません。

val imageView: ImageView = findViewById<ImageView>("R.id.imageView_" + index) as ImageView 

答えて

4
for(i in 1..3){ 
    val id: int=getResources().getIdentifier("imageview_"+i, "id", 
    getPackageName()) 
    imageview[i]=findViewById(id) as ImageView 
} 

あなたはxml、私はこれをやってしまったimageview_3

0

imageview_1imageview_2が、中に持っている場合:別のオプションが可能

var imageViews: Array<ImageView?> = arrayOfNulls(4) 

for (i in 0..3) { 
    val id: Int = getResources().getIdentifier("imageView_" + i, "id", getPackageName()) 
    imageViews.set(i, findViewById<ImageView>(id) as ImageView) 
} 
1

あなたの配列をnullでないものとして宣言するImageView s:

val imageViews : Array<ImageView> = Array(4, { 
    val id: Int = resources.getIdentifier("imageView_" + it, "id", packageName) 
    findViewById<ImageView>(id) 
}) 
関連する問題