2012-10-10 2 views
1

뒤로 단추를 사용하여 이전 활동으로 돌아가서 편집 단추를 표시하고 싶습니다. 내 현재 활동에 현재 활동에서 돌아갈 때 이전 활동에 대한 단추 표시

 @Override 
      public void onClick(View arg0) { 
       // finish the current activity 
       finish(); 

      } 

을 사용하고 때, 그것은 다시 이전 활동에 대한 것입니다,하지만 편집 버튼이 표시되지 않습니다. 나는 이전 활동에 onResume을 사용하고있는 경우 활동이 다시 시작하거나 처음 생성 된 경우

@Override 
    protected void onResume() { 
     super.onResume(); 
     btnEdit.setVisibility(View.VISIBLE); 

    } 

는 그것은 항상 상관없이 볼 수 있습니다.

Android 개발에서 새로운 기능이므로이 문제를 해결하는 데 도움을주십시오.

+0

여기를보세요 : HTTP ://developer.android.com/reference/android/app/Activity.html 특히 'startActivityForResult'부분. – Gio

+0

이전 활동으로 어떻게 돌아가더라도 onResume()은 항상 ** 호출됩니다. 문제에 대한 설명이 100 % 정확하지 않습니다. 더 많은 정보 또는 더 많은 코드를 제공 할 수 있습니까? –

답변

0
좋아

,

당신이 활동을 시작, 대신 startActivity(intent) 사용 startActivityForResult(intent, 1989) (1989 당신이 원하는 int로 무엇이든 할 수있다).

당신이 finish()를 호출하기 전에, 새로운 활동에서 반환 다음을 수행하십시오

첫 번째 활동 오버라이드 onActivityResult()에서 다음
 Intent returnIntent = new Intent(); 
     returnIntent.putExtra("resultBool", true); 

     //Null checks, not strictly neccescary 

      if (getParent() == null) 
      { 
       setResult(Activity.RESULT_OK, returnIntent); 
      } 
      else 
      { 
       getParent().setResult(Activity.RESULT_OK, returnIntent); 
      } 

    finish(); 

과 같이 :

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
     { 
      // The int you initially used 
      if (requestCode == 1989) 
      { 
       if (resultCode == RESULT_OK) 
       { 
        boolean result = data.getBooleanExtra("resultBool", false) 

        if (result) 
         //Show the button now 

       } 
      } 
    } 
+0

Joss 덕분에 큰 도움이되었습니다. 매력처럼 작동합니다. :) –

0

당신은 당신이 끝나면 true로 설정 될 수있는 부울 변수를 확인하고 onResume 방법이 부울에 확인을

0

재정 onRestart() 메소드

@Override 
protected void onRestart() { 
    super.onResume(); 
    btnEdit.setVisibility(View.VISIBLE); 

} 

을 또는 함께 활동을 시작할 수 있습니다

startActivityForResult (Intent intent, int requestCode) 

방법 및 오버라이드 (override)

@Override 
protected void onActivityResult (int requestCode, int resultCode, Intent data){ 
    super.onActivityResult (requestCode,resultCode,data); 
    btnEdit.setVisibility(View.VISIBLE); 

} 
관련 문제