2013-04-19 5 views
1

클릭 할 때 이전 페이지로 돌아갈 수있는 버튼을 만들고 싶습니다. 안드로이드 장치의 실제 뒤로 버튼처럼 작업하십시오. Java 파일에 무엇을 추가해야합니까?이전 페이지로 돌아 가기 버튼

여기
<Button 
     android:id="@+id/button00" 
     android:layout_width="80dp" 
     android:layout_height="40dp" 
     android:layout_marginTop="5dp" 
     android:layout_marginBottom="5dp" 
     android:layout_marginLeft="10dp" 
     android:text="@string/st_pp" 
     android:textColor="#01646d" 
     android:background="#fef200"/> 

코드 (자바)입니다 :

bn00.setOnClickListener(new OnClickListener(){ 

      @Override 
      public void onClick(View arg0) { 
       // TODO Auto-generated method stub 
       Intent it1 = new Intent(getApplicationContext(), Main.class); 
       startActivity(it1); 
      } 

     }); 
+1

마무리(); onclick에서. –

+0

나는 onClick에 "cancelAction"메서드를 넣었고, 그런 다음 내 클래스에서 public void cancelAction (View v) {finish(); }'... 잘 작동합니다. –

답변

9

아래로 버튼 클릭에 마무리()를 호출합니다. 그러나 이전 활동에는 현재 활동을 호출하는 동안 finish()이 포함되지 않습니다.

코드 :

bn00.setOnClickListener(new OnClickListener(){ 

      @Override 
      public void onClick(View arg0) { 

       finish(); 
      } 

     }); 

위의 코드를 사용하여 당신은 당신의 이전 활동에 갈 수 있습니다. 또한 .. onKeyDown() 방법 등에서 finish()를 호출 할 수 있습니다

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { 
     finish(); 
     return true; 
    } 

    return super.onKeyDown(keyCode, event); 
} 
+0

당신을 도울 수있어서 기쁩니다 :) –

+0

그리고 페이지와 페이지 사이의 변환을 설정하는 방법에 약간의 문제가 있습니까? –

+0

번역의 의미는 무엇입니까? –

0
bn00.setOnClickListener(new OnClickListener(){ 

      @Override 
      public void onClick(View arg0) { 
       // TODO Auto-generated method stub 
       //Intent it1 = new Intent(getApplicationContext(), Main.class); 
       //startActivity(it1); 

       finish(); //just add this 
      } 

     }); 
1

당신이 원하는 것은 현재 Activityfinish()를 사용하는 것입니다 여기

코드 (XML)입니다. 스택에서 현재 Activity을 제거하고 이전 것을 표시하므로 뒤로 버튼으로 작동합니다.

bn00.setOnClickListener(new OnClickListener(){ 
    @Override 
    public void onClick(View arg0) { 
     finish(); 
    } 
}); 
1

현재 활동에 finish()를 호출 할 수 있으며, 이전 활동으로 돌아갈 수 있습니다. 추가 정보에 대한

javadoc

0

안드로이드 작업을 수행하는 하드웨어 뒤로 버튼이 있습니다 참조하십시오. 그래서 나는 반대하는 것이 좋습니다 동일한 버튼을 가지고 싶습니다. 하드웨어 백 버튼을 누르면 백 스택의 현재 액티비티가 팝핑되고 파손되며 백 스택의 이전 액티비티에 포커스가 맞춰집니다.

당신은 이전 작업 사용 finish() 방법 돌아가려면

bn00.setOnClickListener(new OnClickListener(){ 

     @Override 
     public void onClick(View arg0) { 
      finish(); 
     } 

    }); 
1

현재 활동을 종료하고 이전을 보여줄 것 finish(); 방법.

그러나 onBackPressed(); 메서드는 뒤로 버튼을 누릅니다. 그러나 오버라이드가없는 기본 구현은 finish(); 메소드를 호출합니다.

0

xml에서 "button00"을 단추 ID로 설정했기 때문에 "bn00"대신 "button00"을 작성하십시오. 그리고 다른 사람도 말했듯이 방법으로 finish()을 호출하십시오. 현재 활동을 끝내고 아직 완료하지 않은 이전 활동을로드하십시오.

buttonn00.setOnClickListener(new OnClickListener(){ 

     @Override 
     public void onClick(View arg0) { 

      finish(); 
     } 

    }); 
관련 문제