如何从另一个类调用 MainActivity 中的方法?

新手上路,请多包涵

当在主要活动中声明方法时,如何在另一个类中调用方法 startChronometer

里面 MainActivity

 public void startChronometer() {
    mChronometer.start();
    showElapsedTime();
}

在另一个类中,我尝试这样做:

 MainActivity mActivity;
mActivity.startChronometer();

但是发生了一个错误,它说:

 java.lang.NullPointerException.

我可以知道我还需要在代码中添加什么吗?

原文由 shannon 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 484
1 个回答

通过像这样进行强制转换,您可以轻松地从 Activity 中的任何 Fragment 调用方法:

爪哇

((MainActivity)getActivity()).startChronometer();

科特林

(activity as MainActivity).startChronometer()

请记住在执行此操作之前确保此 Fragment 的活动实际上是 MainActivity。

希望这可以帮助!

原文由 RicardoSousaDev 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题