删除后尝试重新加载片段时,片段为空

时间:2016-10-21 06:34:11

标签: android android-fragments

我在一个表格片段中有一个列表,每行都有删除按钮。无论何时我点击删除我都会

  

java.lang.NullPointerException:尝试写入字段' int android.support.v4.app.Fragment.mNextAnim'在空对象引用上

我已使用this code example重新加载页面。我发现我的片段是空的。我不知道如何解决这个问题。还有如何将其更改为support.v4.app或仅FragmentManager

这是我的代码

   Fragment frg = null;           
    frg = getFragmentManager().findFragmentById(R.id.table_fragment_container);
    Log.v("frag",""+frg);  //this is null 
final FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.detach(frg);
ft.attach(frg); 
ft.commit();  

3 个答案:

答案 0 :(得分:0)

我认为你没有设置" Your_Fragment_TAG"在您的片段onCreateView()中标记,请检查。或者您可以使用下面的代码进行片段重新加载。

Fragment currentFragment = getActivity().getFragmentManager().findFragmentById(your_fragment_container);

if (currentFragment instanceof "fragment_layout_instance") {

FragmentTransaction fragTransaction =   (getActivity()).getFragmentManager().beginTransaction();
     fragTransaction.detach(currentFragment);
     fragTransaction.attach(currentFragment);
     fragTransaction.commit();

}

}

答案 1 :(得分:0)

创建片段的对象,并将“fragment_layout_instance”替换为片段对象。

答案 2 :(得分:0)

我通过添加标签解决了这个问题

            if str(oid)=="1.3.6.1.2.1.1.3.0":
                target.write(" = str(val[0][1]['timeticks-value']) = " +str(val[0][1]['timeticks-value'])) # time ticks

            else:
                target.write("= val[0][0]['string-value']= " + str(val[0][0]['string-value']))

在调用此片段时,我添加了TAG

Fragment frg = null;
 frg = getFragmentManager().findFragmentByTag("tabFrag");                                                       
final FragmentTransaction ft = getFragmentManager().beginTransaction();   
ft.detach(frg);
ft.attach(frg);
ft.commit();