java - Android Studio 如何在静态方法中引用活动本身
问题描述
我正在使用 Firebase 的“ createUserWithEmailAndPassword ”方法,我需要向它发送上下文(活动)。
但这是在静态方法中(必须这样,因为我使用的是片段。)。因此,我收集了 Fragment 中的所有数据并发送到 MainActivity 中的“registerUser”方法。
所以,因为这个方法(registerUser)是一个静态模式,MainActivity 没有被Firebase的“ createUser... ”引用。
我尝试使用“This”关键字。我尝试使用“new”关键字,例如:
MainActivity main = new MainActivity();
但是两者都不起作用并且使用“new”关键字,甚至没有编译代码。
有人帮我吗?
解决方案
根据定义,静态方法不会在封闭类实例的上下文中运行。没有this
实例可以参考。如果需要从静态方法引用另一个类实例,则需要将其作为参数传递给函数。
public static String cadUsario(MainActivity activity, Usario pUsario) {
// now use activity where needed
}
也考虑完全不使用静态方法。在这里可能不合适。
推荐阅读
- python - 如何编辑我的 4 阶 Runge Kutta 代码来评估 2 阶 ODE?
- javascript - 如何从通知重定向到特定页面?
- javascript - 账户锁定实施
- r - R Markdown:抑制特定引用中的括号
- rust - 如何修复针对 or_insert / or_insert_with 的 clippy::or_fun_call 的 Clippy 警告?
- python - cross_val_score 中的岭回归器如何使用 alpha?
- html - 处理动态模板驱动表单的错误验证 - Angular
- http - Nginx 将所有非 www 流量重定向到端口 80 和 443 上的 www
- autosys - 如何使用 Autosys 中的文件监视器作业检查文件是否存在
- jquery - UI 仅在循环完成后更新