Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java startActivity()或其他建议?_Java_Android_Android Activity - Fatal编程技术网

Java startActivity()或其他建议?

Java startActivity()或其他建议?,java,android,android-activity,Java,Android,Android Activity,在我的应用程序菜单类中,我需要一个按钮来启动活动。这不适用于StartActivity()方法,因为它根本不是Activity的子类。那我该怎么办呢 如果你读过“开始安卓游戏”,你可以在第六章中看到,当他玩蛇游戏时,当我想开始一项活动时,应该是什么样子 //Daniel如果从非活动类启动,请使用上下文.startActivity()。如果从非活动类启动,请使用上下文.startActivity()。是否使用意图 Intent it = new Intent(firstActivity.this,

在我的应用程序菜单类中,我需要一个按钮来启动活动。这不适用于StartActivity()方法,因为它根本不是Activity的子类。那我该怎么办呢

如果你读过“开始安卓游戏”,你可以在第六章中看到,当他玩蛇游戏时,当我想开始一项活动时,应该是什么样子


//Daniel

如果从非活动类启动,请使用
上下文.startActivity()

如果从非活动类启动,请使用
上下文.startActivity()

是否使用意图

Intent it = new Intent(firstActivity.this, secondActivity.class);
startActivity(it); 
将上下文传递给该类并调用startActivity

 Intent it = new Intent(firstActivity.this, secondActivity.class);
 context.startActivity(it); 

你在使用意图吗

Intent it = new Intent(firstActivity.this, secondActivity.class);
startActivity(it); 
将上下文传递给该类并调用startActivity

 Intent it = new Intent(firstActivity.this, secondActivity.class);
 context.startActivity(it); 

使用下面的构造函数传递上下文,或者将其传递到静态方法中:

 private Context context;

 public MenuClass(Context context){
     this.context = context;
 }

 private void someMethod(){
     // Do your stuff
     startNextActivity();
 }

 private void startNextActivity(){
      context.startActivity(context, OtherClass.class);
 }
 public static void startNextActivity(Context context){
      context.startActivity(context, OtherClass.class);
 }

 // Use
 MenuClass.startNextActivity(someContext);
静态方法:

 private Context context;

 public MenuClass(Context context){
     this.context = context;
 }

 private void someMethod(){
     // Do your stuff
     startNextActivity();
 }

 private void startNextActivity(){
      context.startActivity(context, OtherClass.class);
 }
 public static void startNextActivity(Context context){
      context.startActivity(context, OtherClass.class);
 }

 // Use
 MenuClass.startNextActivity(someContext);

使用下面的构造函数传递上下文,或者将其传递到静态方法中:

 private Context context;

 public MenuClass(Context context){
     this.context = context;
 }

 private void someMethod(){
     // Do your stuff
     startNextActivity();
 }

 private void startNextActivity(){
      context.startActivity(context, OtherClass.class);
 }
 public static void startNextActivity(Context context){
      context.startActivity(context, OtherClass.class);
 }

 // Use
 MenuClass.startNextActivity(someContext);
静态方法:

 private Context context;

 public MenuClass(Context context){
     this.context = context;
 }

 private void someMethod(){
     // Do your stuff
     startNextActivity();
 }

 private void startNextActivity(){
      context.startActivity(context, OtherClass.class);
 }
 public static void startNextActivity(Context context){
      context.startActivity(context, OtherClass.class);
 }

 // Use
 MenuClass.startNextActivity(someContext);


但是startActivity方法不是静态的,所以它不起作用。dtmilano在这里的意思是“上下文”,作为contextI类型的实例,我修复了它,这是因为你们,谢谢!我在所有的构造器中添加了一个上下文。但是startActivity方法不是静态的,所以它不起作用。dtmilano在这里的意思是“上下文”,作为contextI类型的实例,我修复了它,这是因为你们,谢谢!我在所有的构造函数中添加了一个上下文。请参见我的编辑,您应该在上下文对象上调用它。您应该从其他地方传递它以使用它。我在视图中没有上下文,因此现在可以使用它:(以一种或另一种方式,您允许从特定上下文启动活动。您所拥有的视图也是在上下文中启动的,因此您将直接或间接地需要该上下文。请参阅“我的编辑”,您应该在上下文对象上调用它。您应该从其他位置传递它以使用它。我在视图中没有上下文,因此现在可以使用它:(以一种或另一种方式,您给出了从特定上下文启动活动的方法。您的视图也是在上下文中启动的,因此直接或间接地您将需要上下文。我在构造函数中没有上下文。使用该签名创建一个构造函数。您可以在自己的类中创建任何您想要的构造函数!我修复了它,这是因为各位,谢谢!我在所有的构造函数中都添加了一个上下文。更改构造函数以获取所需的变量是向前迈出的一大步。始终记住您可以做到这一点。祝您好运!谢谢。当我看到您所做的静态方法时,它对任何子类都有效吗?我在构造函数中没有上下文。使用这个签名。你可以在你自己的类中创建任何你想要的构造函数!我修复了它,这是因为你们,谢谢!我在我所有的构造函数中添加了一个上下文。更改构造函数以接受你需要的变量是向前迈出的一大步。永远记住你可以做到。祝你好运!谢谢。当我看到你的静态方法时您已经完成了,它对任何子类都有效吗?