【问题标题】:Fragment transaction nullpointer [duplicate]片段交易空指针[重复]
【发布时间】:2018-07-17 17:40:06
【问题描述】:

我试图在片段隐藏之前在片段上设置过渡动画,但我得到了一个空指针异常。没有 .setCustomAnimation 方法,代码运行正常,fragment 隐藏,nullpointer 是从哪里来的?

public class MainActivity extends AppCompatActivity {
    private TextView mavisTxt;
    private Button testBtn;
    private HeaderNav navigationBar;

    private FragmentManager fm;
    private FragmentTransaction ft;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initVariables();

    }

    private void initVariables() {
        fm = getSupportFragmentManager();
        ft = fm.beginTransaction();
        navigationBar = (HeaderNav)fm.findFragmentById(R.id.navigationBar);

        mavisTxt = (TextView)findViewById(R.id.mavisTxt);
        testBtn = (Button)findViewById(R.id.testBtn);


        testBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                    ft.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out);
                    ft.hide(navigationBar)
                    .commit();
                    if(navigationBar.isHidden()) {mavisTxt.setText("navbar is hidden");}
            }
        });

    }
}

这是我得到的日志:

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.ViewGroup.startViewTransition(android.view.View)' on a null object reference

【问题讨论】:

  • 不回答就投反对票?
  • 我会在不回答的情况下投票以补偿没有回答的投票者。
  • 在这里提出了类似的问题:stackoverflow.com/questions/51513173/…。解决方案是不要通过 xml 添加您的片段。

标签: java android android-fragments


【解决方案1】:

看看这篇文章: Attempt to invoke virtual method 'android.view.View android.view.View.getRootView()' on a null object reference

看看有没有提到这3行

navigationBar = (HeaderNav)fm.findFragmentById(R.id.navigationBar);
mavisTxt = (TextView)findViewById(R.id.mavisTxt);
testBtn = (Button)findViewById(R.id.testBtn);

【讨论】:

  • 它不指向任何行
猜你喜欢
  • 1970-01-01
  • 2020-05-08
  • 2022-07-06
  • 2011-07-14
  • 2016-09-20
  • 2023-03-29
  • 1970-01-01
  • 2014-11-06
  • 2013-10-18
相关资源
最近更新 更多