繁体   English   中英

添加片段时滑动库错误或应用程序崩溃,并在该特定问题上显示图像

[英]Glide Library Error or Application Crash while Adding the Fragment and Also show image on that specific problem

您无法在尚未附加的View或片段上启动加载,其中getActivity()返回null(通常在附加片段之前或片段被销毁之后调用getActivity()时发生。

 fuser = FirebaseAuth.getInstance().getCurrentUser();
        reference = FirebaseDatabase.getInstance().getReference("Users").child(fuser.getUid());

        reference.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                if(isAdded()) {
                    User user = dataSnapshot.getValue(User.class);
                    assert user != null;
                    username.setText(user.getUsername());
                    if (user.getImageURL().equals("default")) {
                        image_profile.setImageResource(R.mipmap.ic_launcher);
                    } else {
                        Glide.with(ProfileFragment.this).load(user.getImageURL()).into(image_profile);
                    }
                }
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });

添加片段时我的应用程序崩溃了。

您需要尝试这样的代码:

reference.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
        if(isAdded()) {
            User user = dataSnapshot.getValue(User.class);
            assert user != null;
            username.setText(user.getUsername());
            if (user.getImageURL().equals("default")) {
                image_profile.setImageResource(R.mipmap.ic_launcher);
            } else {
                if(getAcivity()!=null && !getAcivity().isFinishing())
                    Glide.with(getAcivity()).load(user.getImageURL()).into(image_profile);
            }
        }
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {

    }
});

如果要添加任何片段。 应用程序崩溃然后你必须检查首先添加片段或不。

这可能导致两个错误。 第一个解决方案也在Stackoverflow上。

第二个问题是你从另一个活动中获得崩溃请使用NameOFActivity.thisgetApplicationContext()然后转到你正在做那个空间任务的片段OR活动并添加第一个解决方案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM