我正在尝试实现一个相当基本的 UI。
我有一个活动,其中有一个片段,它执行 HTTP 获取并更新片段中的一些值。
这很好用,现在我想要一个菜单来刷新它 - 菜单包含在 Activity 中。
我遇到的问题是我不确定如何处理方法调用。基本上,当我从菜单处理程序更新片段时,我发现片段中的 getActivity() 返回 null 。
所以我在 Activity 中有这段代码
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
handler = new GetData();
} catch (Exception e) {
Log.e("FFF", "Exception: " + Log.getStackTraceString(e));
}
}
GetData() 是我的活动 java 类
现在在我的 onOptionsItemSelect 事件中,如果我使用上面的处理程序(使处理程序成为全局变量)它可以工作,但 getActivity() 在片段中为空。
在 onOptionsItemSelected 事件中调用时,使用下面的代码返回 null
GetData handler = (GetData) getFragmentManager().findFragmentById(R.layout.verticalwetherlayout);
有没有解释这部分的教程?或者我只是做错了?
克里斯