天天看點

java循環變量初始化_java-在for循環中初始化變量

我有這樣的代碼:

TextView wyniszczenie_zakres_bmi = (TextView)t.findViewById(R.id.wyniszczenie_zakres_bmi);

TextView wychudzenie_zakres_bmi = (TextView)t.findViewById(R.id.wychudzenie_zakres_bmi);

TextView niedowaga_zakres_bmi = (TextView)t.findViewById(R.id.niedowaga_zakres_bmi);

我可以做這樣的事情嗎?

List arStan = new ArrayList();

arStan.add("wyniszczenie");

arStan.add("wychudzenie");

arStan.add("niedowaga");

for(String s : arStan){

TextView s + _zakres_bmi = (TextView)t.findViewById(R.id. + s + _zakres_bmi);

}

我知道這是行不通的,但是對此有什麼解決方案嗎?

解決方法:

嘗試這個:

List arStan = new ArrayList();

arStan.add("wyniszczenie");

arStan.add("wychudzenie");

arStan.add("niedowaga");

for(String s : arStan) {

int myId = getResources().getIdentifier(s + "_zakres.bmi", "id", getPackageName());

TextView myTextView = (TextView)t.findViewById(myId);

// Do something with myTextView

}

如果您需要儲存textView引用供以後使用,而不是立即對其進行操作,請在配置設定myTextView後将其放入數組或哈希表中.

Hashtable textViews = new Hashtable();

List arStan = new ArrayList();

arStan.add("wyniszczenie");

arStan.add("wychudzenie");

arStan.add("niedowaga");

for(String s : arStan) {

int myId = getResources().getIdentifier(s + "_zakres.bmi", "id", getPackageName());

TextView myTextView = (TextView)t.findViewById(myId);

textViews.put(s + "_zakres.bmi", myTextView);

}

// When you need to get one of the TextViews:

TextView tv = textViews.get("niedowaga_zakres.bmi");

// Do something with tv.

标簽:variables,for-loop,initializing,java,android

來源: https://codeday.me/bug/20191202/2085638.html