片段onresume中的视图为null

时间:2018-02-13 14:39:05

标签: android android-viewpager fragment onresume

因为我需要在简历上调用片段,所以我用两种方法创建了一个片段接口:

DF = data.frame(int = 1:10, float = rnorm(10), cur = rnorm(10) * 1E5,
            lrg = rnorm(10) * 1E8, pct = rnorm(10))

rhandsontable(DF, width = 550, height = 300) %>%
  hot_cols(renderer = "
       function (instance, td, row, col, prop, value, cellProperties) {
         Handsontable.renderers.NumericRenderer.apply(this, arguments);
        if (row == 2){
          td.style.background = 'lightyellow';
       }}") %>%
  hot_col("float", format = "0.0") %>%
  hot_col("cur", format = "$0,0.00") %>%
  hot_col("lrg", format = "0a") %>%
  hot_col("pct", format = "0%")

我的所有片段都实现了这个界面。

我使用这段代码最初用主片段替换 TutorialFragment

public interface FragmentLifecycle {
    public void onResumeFragment();
}

在我的主要片段上,我调用 TutorialFragment onResumeFragment 方法:

Fragment fragment = new TutorialFragment();
fragment.setArguments( selectedCat );
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace( R.id.category_fragment,fragment );
fragmentTransaction.addToBackStack( null );
fragmentTransaction.commit();

我需要查看我的函数片段才能显示我的数据,但是当我想使用视图或调用 getview()时我得到null:

FragmentLifecycle tutorial_fragment= new TutorialFragment();
tutorial_fragment.onResumeFragment();

当我的片段从另一个片段调用时,如何访问我片段的视图?

1 个答案:

答案 0 :(得分:2)

在创建片段后直接调用方法onResumeFragment()

FragmentLifecycle tutorial_fragment= new TutorialFragment();
tutorial_fragment.onResumeFragment();

您不会在方法中获得任何视图,因为视图尚未附加到片段,并且尚未创建片段。创建片段是异步过程,因此您需要等到片段创建完毕。

您需要创建一个回调来告诉活动该片段已创建。