gpt4 book ai didi

java - Android - 从静态方法制作Toast

转载 作者:行者123 更新时间:2023-12-01 16:50:18 24 4
gpt4 key购买 nike

我正在尝试将字符串从单独的静态 java 类传递到 Blankfragment.java 中的方法

这是blankFragment.java中的方法,问题是它无法访问非静态的getContext()。

public static void ShowMessage(String message){
Toast.makeText(getContext() ,message , Toast.LENGTH_LONG).show();
}

以及单独 静态 java 类中的方法调用:

BlankFragment.ShowMessage(new String(body));

有没有办法从外部检索上下文并将其作为参数传递? getContext() 不起作用,我收到错误“无法解析符号”

最佳答案

您可以尝试将上下文作为参数传递。由于这是一个 Fragment,我建议您检查是否为 null!

public static void ShowMessage(Context context, String message){
if (context == null) return;
Toast.makeText(context, message, Toast.LENGTH_LONG).show();
}

BlankFragment.ShowMessage(getContext(), new String(body));

注意:

刚刚一直在使用 Fragment,我非常讨厌它们的生命周期。我不完全确定为什么你需要一个涉及上下文的静态方法,但我建议不要这样做。而是使用 Command pattern或者是其他东西。通常我发现,直到 fragment “安定下来” - 然后上下文才可用。

关于java - Android - 从静态方法制作Toast,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41594870/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com