2016-11-11 2 views
-1

私はログインが必須ではないアプリケーションを開発していますが、サイドアプリケーションにはアプリがログインを求めるいくつかのイベントがあります。ログインが完了したらプロセスを再開したい。たとえば、ユーザーがログインしていない状態で「好き」ボタンをクリックすると、ユーザーはログインアクティビティにリダイレクトされます。今すぐログインした後、「好きな」クリックが行われます。そのようなタイプのボタンは他にもあります。助けてください...ログイン完了後にクリックイベントを再開する

+0

は、この私が考えていた、 –

答えて

0

DialogFragmentとしてログイン画面を使用できるので、Activityのコールバックメソッドを使用して前のクリックイベントを処理できるように、Dialogとして機能します。

1

これを行うには、いくつかの方法があります(ステータスを共有し、など、他のアクションを実行する断片、静的フィールドが...)しかし、私の意見ではflagstartActivityForResultを使用すると、このような状況で行うにして確保するために最善のことです再利用性、あなたはキーの数とイベントのセットをマッピングすることができますし、イベント

ヒントに関連した適切なキーを受け取ったら、分離フラグの代わりに、それらを呼び出す:intentsを介してそれらを送信します。

あなたはユーザーがログインした後、等を実行することにしたい場合、私は例えばので、ここでフラグを使用します。

あなた[現在のようにボタンで一つは、インスタンス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)(onStartActivityResult使用して統合しよう。ありがとうございます... – RHL

+0

np、うれしい私は助けることができます。 –

関連する問題