我正在尝试通过类从ActivityA启动ActivityB。
所以我以这种方式在ActivityA中创建我的非活动类:
public class ActivityA extends Activity {
myDialog = new MyDialog(this);
}
我在类构造函数中启动我的第二个活动,如下所示:
public MyDialog(Context context) {
Intent i = new Intent (context, ActivityB.class);
context.startActivity(i);
}
问题是我想从ActivityB获取MyDialog。这可能吗?
感谢您的帮助。
答案 0 :(得分:0)
选项1: 你可以上课#34; MyDialog" static而不是在构造函数中,创建一个启动activityB的void。 我不确定你为什么要从activityB启动activityB,但是如果它们在同一个应用程序中则可以工作:
public static class MyDialog {
public static void StartDialog(Context context){
System.out.println("STARTING ACTIVITY B");
Intent i = new Intent (context, ActivityB.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
在活动B中使用此调用:
ActivityA.MyDialog.StartDialog(getApplicationContext());
选项2: 如果您不想将MyDialog创建为静态,那么:
public class MyDialog {
Context context;
public MyDialog(Context c){
context = c;
}
public void StartDialog(){
System.out.println("STARTING ACTIVITY B");
Intent i = new Intent (context, ActivityB.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
然后,在ActivityB中:
ActivityA ma = new ActivityA();
MyDialog md = ma.new MyDialog(getApplicationContext());
md.StartDialog();