【问题标题】:How do I obtain a view from fragment A with the fragment listener pattern?如何使用片段侦听器模式从片段 A 获取视图?
【发布时间】:2015-09-19 03:20:09
【问题描述】:

一旦在片段 B 中单击某些内容,我想将一个字符串从它传递给前一个片段,片段 A。

我试图通过在包含活动实现的片段 B 中创建一个侦听器接口来实现这一点。在片段 B 的 onAttach 中,我将活动转换为侦听器类型。当在片段 B 中单击某些内容时,我会调用必须在 Activity 中定义的侦听器回调:

myListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
selectedListener.onItemSelected(dataItem);
}

});

在活动中:

@Override public void onItemSelected(MyData dataItem) {
    FragmentA currentFragment = (FragmentA)fragMgr.findFragmentByTag("FragmentA");
    LinearLayout containerView = currentFragment.getView().findViewById(R.id.container);

此时片段回栈看起来像片段A-->片段B。在回调中调用fragmentA的getView返回null,这是为什么,如何获取这个view?

【问题讨论】:

    标签: android android-fragments


    【解决方案1】:

    getView() 可能返回 null,因为您试图在片段的 onCreateView() 被调用之前访问它。

    尝试仅在片段的字段(即currentFragment.setMyData(dataItem))上设置数据,然后在onCreateView() 中检查该字段的非空值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-05
      • 1970-01-01
      • 2013-10-12
      • 2014-10-19
      相关资源
      最近更新 更多