2012-01-28 12 views
0

intの値に基づいてどのビューを編集しているかを変更するにはどうしますか?intに基づいてビューを定義します

if文を使用しないでください。例えば

int counter = 1; 

public void attach(){ 
final SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this); 

TextView text1 = (TextView) findViewById(R.id.text1) 
TextView text2 = (TextView) findViewById(R.id.text2) 
TextView text3 = (TextView) findViewById(R.id.text3) 
TextView text4 = (TextView) findViewById(R.id.text4) 

if (counter < 5){ 
if (sp.getInt("test" + counter , 0) == counter){ 

text + counter .setText("test" + counter); 

}else{counter = counter + 1; attach();}} 

} 

答えて

0

最も簡単な方法は、可能なビューIDの配列を定義することです。

int[] viewIds = new int[] { 
    R.id.text1, 
    R.id.text2, 
    R.id.text3, 
    R.id.text4 
} 

//some code 
int i = /*whatever*/; 
TextView tv = (TextView)findViewById(viewIds[i]); 
tv.setText("test"+i); 
関連する問題