2013-06-19 16 views

回答

0

您可以創建兩種方法onResume()onPause()您自定義的View(您可以根據需要調用這兩種方法)。然後在您的活動中,您將覆蓋onResume和並致電customView.onResume()customView.onPause()

+1

不要忘記在你自己的簡歷代碼之前調用super.resume(),並且super.pause()在你自己的暫停代碼之後。 – Phil

0

這可能嗎?

是的,很容易。

聲明一個接口並通過你的內部視圖將其實現提供給外部活動。 在onResume和onPause活動中調用相應的委託來通知您的內部視圖。

簡單。希望這有助於:)

像這樣的事情

class MyActivity extends Activity { 
    public interface ActivityLifeCycleLister{ 
     onResumeCalled(); 
    } 

    public ActvityLifeCycleLsistener listener; 

    public void setActivityLifeCycleListener(ActvityLifeCycleLsistener listener) { 
     this.listener = listener; 
    } 

    @Override 
    public void onResume(){ 
     super.onResume(); 
     if(listener != null) { 
      listener.onResumeCalled(); 
     } 
    } 

    class MyInnerView extends View { 

     // Some init method 
     void init() { 
      MyActivity.setActivityLifeCycleListener(new ActivityLifeCycleListener() { 

       void onResumeCalled() { 
       // Do whatever here 
       } 
      }); 
     } 
    } 

} 

這種方法可以用來爲您的應用誰願意聽生命週期事件的所有組件。

+0

我不確定接口的需求,你可以提供一些示例代碼,只是幾行......謝謝 –

相關問題