2014-04-12 2 views
0

저는 자바와 안드로이드 개발에 매우 ​​익숙하며 각보기에서 다음과 뒤로 버튼뿐만 아니라 RadioButton 선택 사항을 가진 작은 "퀴즈"를 만들려고합니다. 나는 다음과 뒤로 버튼이 작동하도록하고 있지만, 그렇게 하기엔 너무 길다. 한 번 함수를 정의하고 다시 버튼을 사용할 때마다 다시 정의 할 필요없이 해당 레이아웃에서 작동 할 수있는 방법이 있습니까? 나는. 나는 onCreate에 정의 된 nexButtonGPAbuttonClick()을 가지고 있지만 activity_main_2_.xml으로 돌아가서 뒤로 버튼을 setContentView(activty_main.xml)으로 설정하면 다시 nextButtonGPAbuttonClick();을 재정의해야합니다. setContentView(R.layout.activity_main). 다음은 내 .java 파일입니다. 모든 지침은 매우 도움이 될 것입니다.setContentView를 사용할 때 함수를 여러 번 정의하기

package com.example.studentadvisorapp; 

import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import android.view.View; 
import android.widget.Button; 


public class MainActivity extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
     nextButtonGPAbuttonClick(); 
    } 

    private void nextButtonGPAbuttonClick() { 
     //Get reference to button 
     Button nextButtonGPA = (Button) findViewById(R.id.next_button_gpa); 

     //set click listener 
     nextButtonGPA.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      setContentView(R.layout.activity_main_2); 
      prevButtonHoursEnrolledbuttonClick(); 
      nextButtonHoursEnrolledbuttonClick(); 
     } 

     private void prevButtonHoursEnrolledbuttonClick() { 
      //Get reference to button 
      Button prevButtonHoursEnrolled = (Button) findViewById(R.id.prev_button_hours_enrolled); 

       //set click listener 
      prevButtonHoursEnrolled.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
         setContentView(R.layout.activity_main); 
        nextButtonGPAbuttonClick(); 
       } 
       }); 
      } 

      private void nextButtonHoursEnrolledbuttonClick() { 
      //Get reference to button 
       Button nextButtonHoursEnrolled = (Button) findViewById(R.id.next_button_hours_enrolled); 

      //set click listener 
      nextButtonHoursEnrolled.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
       setContentView(R.layout.activity_main_3); 
        nextButtonHoursWorkingbuttonClick(); 
       prevButtonHoursWorkingbuttonClick(); 
       } 

       private void nextButtonHoursWorkingbuttonClick() { 
        //Get reference to button 
       Button nextButtonHoursWorking = (Button) findViewById(R.id.next_button_hours_working); 

       //set click listener 
       nextButtonHoursWorking.setOnClickListener(new View.OnClickListener() { 
        @Override 
       public void onClick(View v) {    setContentView(R.layout.activity_main_4);  
       } 
      }); 
     } 

     private void prevButtonHoursWorkingbuttonClick() { 
      //Get reference to button 
      Button nextButtonHoursWorking = (Button) findViewById(R.id.prev_button_hours_working); 
      //set click listener 
      nextButtonHoursWorking.setOnClickListener(new View.OnClickListener() { 
       @Override 
      public void onClick(View v) {        setContentView(R.layout.activity_main_2);          prevButtonHoursEnrolledbuttonClick();       nextButtonHoursEnrolledbuttonClick(); 

      } 
     }); 
    }        
}); 
} 
}); 
} 




    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

} 
+0

정확하게'nexButtonGPAbuttonClick()'함수에서 달성하고자하는 것은 무엇입니까? 질문은 아직 약간 불분명하다. – AndyFaizan

+0

5 개의 질문이 있으며 각 질문에는 일련의 옵션과 다음 및 이전 버튼이 있습니다. 모든 nextButton(); 함수는 사용자를 다음 질문 및 모든 prevButton()에 가져 가야합니다. 함수는 사용자를 이전 뷰로 가져 가야합니다. – cpwynn

+0

새로운 질문이 새로운 활동을 시작하는 것을 정당화하지 못하는 것처럼 보입니다. – cpwynn

답변

1

setContentView를 호출하는 대신 새 활동을 시작하십시오. 이렇게하면 뒤로 버튼이 자동으로 사용자를 이전 화면으로 되돌립니다.