2013-03-21 4 views
0

그래서 내가 반복하는 String 배열을 얻었습니다. 신참 질문, 그러나, 나는 어떻게 되돌리고 되돌아 가느냐? 기본적으로 내가 원하는 것은 "앞으로"와 "뒤로"기능이기 때문에 전체 배열을 통해 "a"로 돌아갈 필요가 없습니다. 감사!문자열 배열을 통해 반복 루프

public class FirstActivity extends Activity { 

    private static int counter = 0; 
    private TextView exampleTextView; 
    string exampleText; 


    private static final String[] EXAMPLESTRINGS = { 
    "a", 
    "b", 
    "c" 
    }; 

public void generateText(View v) { 

    String exampleText = EXAMPLESTRINGS[counter++]; 
    if(counter == EXAMPLESTRINGS.length) { 
     counter = 0; 
    } 
    exampleTextView.setText(exampleText); 
} 
+0

'counter -'를 사용해 보셨습니까? 아니면 그냥 예를 들어 [0]'? 문제가 무엇인지 또는 어떻게 구현할 것인지 정확히 말하기는 다소 어렵습니다. 배열이 테이프와 같은 것으로 생각 될 수 있으며 연속적으로 만 액세스 할 수 있다고 생각하는 것 같습니다. 그렇지 않습니다. "다음"배열이 아니라 배열에서 어떤 값을 얻을 수 있습니다. – iamnotmaynard

+0

http://stackoverflow.com/questions/2297110/java-linkedlist-previous-next 도움이 –

답변

0

generateText() 메서드는 UI에서 호출되는 메서드라고 생각합니다. 같은 시도 :

public void generateTextForward(View v) { 
    if(counter == EXAMPLESTRINGS.length -1) { 
     counter = 0; 
    } 
    String exampleText = EXAMPLESTRINGS[counter++]; 
    exampleTextView.setText(exampleText); 
} 

public void generateTextBackward(View v) { 
    if(counter == 0) { 
     counter = EXAMPLESTRINGS.length -1; 
    } 

    String exampleText = EXAMPLESTRINGS[counter--]; 
    exampleTextView.setText(exampleText); 
} 

을 그리고 지금 당신은 두 가지 방법, 앞으로 하나 뒤로 하나 있습니다. 이 응용 프로그램을 실제로 알지는 못합니다.

위의 설명과 같이 링크 된 목록을 대신 살펴보십시오.

+0

바로 이전/다음 문자열을 배열에 전달하는 뒤로 및 앞으로 단추가있는 것이 좋습니다. 코드가 제대로 된 것처럼 보이지만 동작은 다소 이상합니다. generateTextBackward를 실행할 때 먼저 함수가 실행되고 다시 실행될 때만 역방향으로 실행됩니다. 따라서 "a"부터 시작하여 "a"- "b"- "a"- "c"가됩니다. 왜 그런가? – user1854291