Android - не должен ли вызов finalActivity вызывать метод finish? - PullRequest
1 голос
/ 12 ноября 2010

Я переопределил финишный вызов в подоперации, например, так:

   @Override
   public void finish() 
   {
      Log.e(this.toString(), "======== finish ========"); 
      if(!this.exiting)
      {
         Log.e(this.toString(), "======== set RESULT_OK ========"); 
         // Notify the caller Activity that the user successfully
         // edited or inserted the data set
         setResult(RESULT_OK);
      }
      else
      {   
         Log.e(this.toString(), "======== set RESULT_CANCELED ========"); 
         // Notify the caller Activity that the user has canceled the
         // activity without altering anything
         setResult(RESULT_CANCELED);
      }

      super.finish();
   } 

Я вызываю finishActivity для этого подэтапа из действия, которое запустило его для результата. Но я не вижу, чтобы финиш был поражен. Вместо этого он переходит непосредственно к onPause.

Ответы [ 2 ]

2 голосов
/ 12 ноября 2010

finish () - это метод, который вы вызываете для Activity, когда хотите завершить его (например, потому что хотите, чтобы он возвращал результат для вызова Activity).

1 голос
/ 12 ноября 2010

Метод finish должен вызываться вами, если вы хотите завершить это действие вручную, это не обязательно означает, что он вызывается, когда это действие завершается другими средствами.

Попробуйте использовать onDestroy.

Как правило, только методы, начинающиеся с "on", предназначены для перехвата, как onDestroy. Другие методы обычно предназначены для вызова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...