2016-11-11 33 views
-1

我正在開發一個應用程序,其中登錄不是強制性的,但在應用程序中有一些事件,其中應用程序要求用戶登錄。我想在完成登錄後恢復該過程。例如,如果用戶未登錄並點擊「喜歡」按鈕,應用程序會將用戶重定向到登錄活動。現在我想在登錄完成後「like」點擊也會執行。除了like之外,還有更多這種類型的按鈕。請幫助...登錄完成後恢復點擊事件

+0

嘗試使用onStartActivityResult() –

回答

0

您可以使用登錄屏幕爲DialogFragment,所以它將作爲一個Dialog通過這種方式,您可以通過使用在Activity回調方法處理之前的單擊事件。

1

有幾種方法可以做到這一點(片段,靜態字段來分享狀態和執行其他行爲等)。但在我看來,使用flagstartActivityForResult是在這種情況下做的最好的事情,並確保可重用性,可以映射與數字鍵的一組事件,並呼籲那些,而不是分開的標誌,一旦你獲得與該事件

提示相關的正確的密鑰:通過intents給他們。

所以舉例來說,如果你想在用戶登錄後等來進行,我會在這裏使用的標誌。

在你CurrentActivity了一個與像按鈕,設置了一個實例static boolean isValid=false;然後使用:

Intent i = new Intent(this, Login.class); 
startActivityForResult(i, 1); 

Login.class

//perform login 
    Intent i = new Intent(); 
    //reset isValid to true 
    setResult(Activity.RESULT_OK,i); 
    finish(); 

CurrentActivity.class:

//re-trigger the click event 
@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 

    if (requestCode == 1 && isValid) { 
     if(resultCode == Activity.RESULT_OK){ 
      //like 
     } 

    } 
} 
+0

感謝@Ahmad整合,這就是我想的。謝謝... – RHL

+0

np,很高興我能幫上忙。 –

相關問題