从静态方法开始活动

时间:2013-04-25 08:42:52

标签: android android-intent static android-activity

启动Activity时遇到问题。我试图用静态方法开始一个新的活动。

这是我的代码:

    static Dialog dialog=null;
public static void NextLevel(Context c,String title,String message){


     AlertDialog.Builder alertbox = new AlertDialog.Builder(c);
     alertbox.setTitle(title);
     alertbox.setMessage(message);
     alertbox.setPositiveButton("Volgende level", new DialogInterface.OnClickListener() {
         public void onClick(DialogInterface arg0, int arg1) {

         }
     });
     alertbox.setNegativeButton("Terug naar menu", new DialogInterface.OnClickListener() {
         public void onClick(DialogInterface arg0, int arg1) {
             startActivity(new Intent(Main.this, MainMenu.class));
         } 
     });
     alertbox.show();
}

startActivity不起作用,因为它无法从静态方法启动Activity。我似乎无法找到解决这个问题的方法,因为我也无法创建一个可以启动它的上下文。

3 个答案:

答案 0 :(得分:5)

使用

c.startActivity(new Intent(c, MainMenu.class));

答案 1 :(得分:0)

尝试将startActivity行更改为:

context.startActivity(new Intent(c, MainMenu.class));

和参数c to:

final Context c

答案 2 :(得分:0)

你应该将当前活动的实例传递给静态方法并在其上调用 startActivity()