2012-12-10 6 views
1

저는 Android 애플리케이션 개발과 관련하여 새로운 제품입니다. 지금은 앱을 개발 중입니다. 사용자가 Button (NEXT)을 클릭 할 때마다 TextView 변경 사항을 가져 오려고 시도하고 다른 Button (PREVIOUS)이 클릭되면 원래 TextView로 다시 변경하려고합니다. 그래서 기본적으로 특정 양의 TextViews를 설정하고 내가 언급 한 두 개의 Button으로 그들을 탐색 할 수 있습니다.여러 번의 버튼 클릭으로 TextView를 여러 번 변경하는 방법은 무엇입니까?

지금까지 TextView를 Button (NEXT)에서 한 번만 변경하는 방법을 알고 있습니다. 나는 그것을 위해이 코드 조각을 사용하고 있습니다 :

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState);  
    setContentView(R.layout.activity_main); 

    ImageButton Next = (ImageButton) findViewById(R.id.Next); 
    Next.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      TextView Text1= (TextView) findViewById(R.id.Text1); 
      Text1.setText("New Text"); 
     } 
    }); 

참고 : 버튼 나는 아직 그것으로 무엇을 해야할지하지 않았기 때문에 "이전", 아직 포함되지 않습니다.

이 코드는 TextView가 한 번만 변경되기를 원할 때만 사용되며 여러 번 변경하려면 완전히 다른 방법이 필요합니다.

충분한 정보를 제공해 주셨으면하고 도와 드리겠습니다. 미리 감사드립니다.

답변

2
public class MyActivity extends Activity implements View.OnClickListener { 

int stringIdList[] = {R.string.text1, R.string.text2, R.string.text3, R.string.text4} 
int stringListCounter = 0; 
TextView text1; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    ImageButton next = (ImageButton) findViewById(R.id.Next); 
    ImageButton previous = (ImageButton) findViewById(R.id.Previous); 
    text1 = (TextView) findViewById(R.id.Text1); 
    Next.setOnClickListener(this); 
    previous.setOnClickListener(this); 
} 

@Override 
public void onClick(View v) { 
    int id = v.getId(); 

    if(id == R.id.Next && stringListCounter < stringIdList.length - 1) { 
    stringListCounter++; 
    } else if (id == R.id.Previous && counter > 0) { 
    stringListCounter--; 
    } 

    Text1.setText(stringIdList[stringListCounter]); 
} 

어떤이가하는 것은 클릭 이벤트를 처리하는 OnClickListener에 작업을 할당합니다. Next을 누르고 카운터가 배열 목록 범위 내에 있으면 카운터가 증가합니다. previous에 대해서도 동일합니다. 클릭이 끝나면 ID가 무엇이든간에 텍스트가 설정됩니다. 이것은 문자열이 strings.xml 파일에 있다고 가정합니다.이 파일은 Android 사양에서 권장되며 정적입니다.

+0

고마워요! 작동 중! –

0

나는 목록을 사용하여 히스토리를 저장할 수 있으며 매 순간 모든 텍스트 뷰를 가질 수 있다고 생각한다. 이전 버튼을 누른 후에이 기록 스택에서 이전 값을 가져와야합니다.

관련 문제