您只需执行以下操作即可轻松地从Activity中的任何Fragment调用方法:
((MainActivity)getActivity()).startChronometer();
希望这可以帮助!
首先初始化它
MainActivity mActivity= new MainActivity();
然后你可以继续
mActivity.startChronometer();
我建议,不应该成为Activity类的对象。
MainActivity mActivity = new MainActivity(); // BIG NO TO THIS.
Android中的所有活动都必须通过活动生命周期,以便它们附加有效的上下文。
通过将Activity视为普通Java类,您最终会得到一个空上下文。 由于Activity中的大多数方法都在其Context上调用,因此您将获得空指针exception,这就是您的应用程序崩溃的原因。
相反,将需要从其他类调用的所有此类方法移动到Utility类中,该类在其构造函数中接受有效上下文,然后在方法中使用该上下文来完成工作。
MainActivity.java
public class MainActivity extends AppCompatActivity { private static MainActivity instance; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); instance = this; } public sta