【问题标题】:Starting activity from static method从静态方法开始活动
【发布时间】:2013-04-25 08:42:51
【问题描述】:

我在启动 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。我似乎无法找到解决此问题的方法,因为我自己也无法创建一个可以启动它的上下文。

【问题讨论】:

  • 用作 c.startActivity(new Intent(c, MainMenu.class));

标签: android android-intent static android-activity


【解决方案1】:

使用

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

【讨论】:

    【解决方案2】:

    尝试将 startActivity 行更改为:

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

    和参数c到:

    final Context c
    

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2015-09-18
        • 1970-01-01
        • 1970-01-01
        • 2020-05-03
        • 2014-01-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-26
        相关资源
        最近更新 更多