我正在尝试从另一个文件调用我的主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);
}
}
答案 0 :(得分:0)
问题在于这一行
MainActivity run = new MainActivity();
你永远不会直接实例化Activity,你需要通过Intent
个对象来实例化它们。
Intent intent = new Intent(this, MainActivity.class);
如果要实例化 new 活动,请使用Intent。如果要在已经实例化的活动中调用my_function
,首先需要获取指向该Activity的指针,这在Android中有点棘手。
此外,您希望从其他活动调用方法这一事实表明设计不良,或者您不完全了解Android的处理方式。
想想是否有其他方法可以用于您的目的。
答案 1 :(得分:0)
如果要从不同的类调用方法,请创建一个单独的类 并封装逻辑。将一个活动更多地视为视图控制器,逻辑 应该在别的地方。
对不起我的英文,希望这有帮助。 史蒂夫