在另一个java文件中使用main活动中的函数

时间:2014-02-18 23:40:04

标签: java android

我正在尝试从另一个文件调用我的主Activity中的方法,但它崩溃了。我可以通过其他方式轻松完成这项工作。你能不能从另一个Activity中调用主Activity的方法吗?

public class MainActivity extends Activity {
….
……..
……

public void my_function(String a){
//do some stuff
 }

}



package main;
public class stuff extends Activity {
….
….
…
MainActivity run = new MainActivity();
run.my_function(String a);
 }
}

2 个答案:

答案 0 :(得分:0)

问题在于这一行

MainActivity run = new MainActivity();

你永远不会直接实例化Activity,你需要通过Intent个对象来实例化它们。

Intent intent = new Intent(this, MainActivity.class);

如果要实例化 new 活动,请使用Intent。如果要在已经实例化的活动中调用my_function,首先需要获取指向该Activity的指针,这在Android中有点棘手。

此外,您希望从其他活动调用方法这一事实表明设计不良,或者您不完全了解Android的处理方式。

想想是否有其他方法可以用于您的目的。

答案 1 :(得分:0)

如果要从不同的类调用方法,请创建一个单独的类 并封装逻辑。将一个活动更多地视为视图控制器,逻辑 应该在别的地方。

对不起我的英文,希望这有帮助。 史蒂夫