我正在尝试将一个字符串从一个单独的静态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()不起作用,我得到错误"无法解析符号"
您可以尝试将上下文作为参数传递.由于这是一个片段,我建议你检查空值!
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"安定下来" - 然后上下文变得可用.