2017-11-14 5 views
0

インテントからダイアログを呼び出すことは可能ですか? 2つのアクティビティRegisterActivityとAuthenticActivityがあり、RegisterActivityのカスタムダイアログを実装しましたが、AuthenticActivityについても同じダイアログが必要です。ですから、AuthenticActivityのダイアログをどうすれば得ることができますか?私たちは意図からそれを得ることができます、私に示唆してください?両方のアクティビティにコードを記述したくありません。インテントからダイアログを呼び出します

+0

カスタムダイアログクラスを作成し、uは好きな場所ということを使用し、記述する必要が、このメソッドを呼び出すには、同様

public static void showDialog(PASS_REQUIRED_PARAMS){ // do your stuff } 

を静的定数法を行います。 –

+0

イベント – Eenvincible

+1

IMOを使用することを検討する必要があります。登録と認証(LoginActivity)の両方に対して1つのアクティビティが必要ですが、これは2つの異なる部分です。新しいMyDialogFragment()。show(getFragmentManager()、MyDialogFragment.TAG)などのように、ダイアログの別のクラスを作成して(DialogFragmentを拡張して)ダイアログを表示することをお勧めします。 –

答えて

0

short awnser:BroadcastReceiverを使用します。

@Override 
public void onReceive(Context context, Intent intent) { 

    if (intent.getAction().equals(ACTION_EXECUTE_EXAMPLE_TEST)) { 
     //Do whatever you want 
    } 
} 

hereをご確認ください。それをマニフェストに追加し、あなたの活動の意図を受け取ることができます;)

1

あなたのケースでは、共通のコードを使用できるBaseActivityを公開メソッド に持っています。 RegisterActivityとAuthenticActivityはBaseActivityを拡張する必要があります。

パブリッククラスBaseActivity延びAppCompatActivity {

public void displayCommonDialog() { 

    View v = getLayoutInflater().inflate(R.layout.fragment_manage_account_dialog, null); 

........ ........

} 

}

パブリッククラスRegisterActivityが延びていますBaseActivity {

........ ......... ........

//ダイアログを呼び出すには displayCommonDialog();

}

あなたはダイアログでクリックイベントをキャプチャするコールバックリスナーを持っている/イベントをトリガーするためにインターフェースまたはEventBusライブラリを使用することができます。

0

あなただけ

CLASS_NAME.showDialog(PASS_REQUIRED_PARAMS) 
関連する問題