web-dev-qa-db-ja.com

コンテキストが特定のアクティビティかどうかを判別

ダイアログにアクティビティコンテキストを渡していますが、そのダイアログは他のアクティビティに対してグローバルであるため、他のアクティビティもそのダイアログを作成する可能性があります。私の質問は、どのようにしてアクティビティコンテキストが特定のアクティビティであると判断できるのですか?

私はこのようにActivityContextを渡しています:

private Activity ActivityContext;

public MessageDialog(Activity context,int DialogStyle,int Dialog_Layout,String Msg) 
{
    super(context,DialogStyle,Dialog_Layout);
    this.ActivityContext = context;
    this.Msg = Msg;
}
27
Memento

Instanceofを使用できます。

if ( this.ActivityContext instanceof MyActivity ) {
 /// ....
}
57
marcinj

私は質問がJavaにあることを知っていますが、kotlinで答えを探している場合:

if (this.activity is AppActivity) {
    // ...
}
3
surga
override fun onAttach(context: Context) {
    super.onAttach(context)
    if (context is MyInterFace) {
        interfaceVariable = context as MyInterFace
    }
}
0
Biplob Das