2014-03-25 3 views
0

난수를 확인하고 string.xml 파일에서 인쇄해야하는 앱이 있습니다. 여기에 내가 현재 가지고있는 코드입니다 (이것은 계속할 않지만 그것은 단지 randNum 및 랜드를 선언하는 것) :많은 문자열에 대해 TextView.setText()를 수행하는 가장 좋은 방법

randNum = rand.nextInt(59); 
switch (randNum){ 
    case 1: 
      random.setText(R.string.f_vocab1); 
      break; 

이 (필요) 또 다른 59가지 경우와 문자열을 계속한다. 나는 방금 안드로이드 개발을 시작 했으므로 이것을 수행하는 더 좋은 방법에 대한 단서가 없다. 누군가 더 나은 방법을 말해 줄 수 있습니까? 이 라인이 배열에 액세스 할 수 있습니다 코드에서

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <string-array 
     name="string_array_name"> 
     <item>first_string</item> 
     <item>second_string</item> 
    </string-array> 
</resources> 

을 :

+0

원하는 문자열이 "1"또는 "1"입니까? 전자의 경우, 스위치를 사용할 필요없이'random.setText (""+ randNum);을 사용할 수 있습니다. 후자의 경우 전환을 수행해야합니다. – BVB

답변

3

이처럼 strings.xml의 문자열 배열을 정의 할 수

String[] stringArray = getResources().getStringArray(R.array.string_array_name); 

을 이제 난수를 생성하고 인덱스를 기준으로 문자열을 가져옵니다.

int randNum = rand.nextInt(59); 
random.setText(stringArray[randNum]; 

참고 : 임의의 숫자를 얻는 것은 내가 원하는 것이 아닙니다. 당신이 음의 가치를 갖기 때문에 생각하십시오. 스위치 블록이나 어레이 접근 방식에서 적절하게 처리해야합니다.

+0

나는 이것을 권하고 싶습니다. 이것은 제가 대답하려고했던 것입니다. –