当前位置:  开发笔记 > 编程语言 > 正文

Android - 使用静态方法制作Toast

如何解决《Android-使用静态方法制作Toast》经验,为你挑选了1个好方法。

我正在尝试将一个字符串从一个单独的静态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()不起作用,我得到错误"无法解析符号"



1> Quintin Bals..:

您可以尝试将上下文作为参数传递.由于这是一个片段,我建议你检查空值!

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));

注意:

刚刚使用Fragments,我绝对讨厌他们的生命周期.我不完全确定为什么你需要一个涉及上下文的静态方法,但我建议不要这样做.而是使用Command模式或其他东西.通常情况下,我发现直到Fragment"安定下来" - 然后上下文变得可用.

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有