【问题标题】:Navigation drawer / fragment update导航抽屉/片段更新
【发布时间】:2019-07-24 01:11:50
【问题描述】:

我有一个导航抽屉设置。我在抽屉上的一个片段允许用户上传图像,然后显示图像。图像上传并显示正常,但如果用户离开片段并返回图像视图,则不会加载任何内容并显示为空,即使占位符图像也不显示。相同的图像也会显示在导航抽屉中,但在用户离开应用程序并返回占位符之前不会更新,并且不会在此处显示。

个人资料片段

        mUsersDB.get()
            .addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
                @Override
                public void onSuccess(DocumentSnapshot documentSnapshot) {
                    if (documentSnapshot.exists()) {

                        String name = documentSnapshot.getString(KEY_NAME);
                        mName.setText(name);

                        String status = documentSnapshot.getString(KEY_STATUS);
                        mStatus.setText(status);

                        String image = documentSnapshot.getString(KEY_IMAGE);

                        if (mDisplayImage.getDrawable() == null){

                            mDisplayImage.setImageResource(R.drawable.default_no_profile_picture);


                        } else {

                            Glide.with(getActivity()).load(image).into(mDisplayImage);
                        }


                        FirebaseUser currentFirebaseUser = FirebaseAuth.getInstance().getCurrentUser();


                    } else {

                    }

                }
            })
            .addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {

                }
            });

导航抽屉:

        mUsersDB.get()
            .addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
                @Override
                public void onSuccess(DocumentSnapshot documentSnapshot) {
                    if (documentSnapshot.exists()) {

                        String name = documentSnapshot.getString(KEY_NAME);

                        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
                        View headerView = navigationView.getHeaderView(0);
                        TextView navUsername = (TextView) headerView.findViewById(R.id.menu_userName);
                        navUsername.setText(name);

                        String image = documentSnapshot.getString(KEY_IMAGE);

                        ImageView navImage = headerView.findViewById(R.id.menu_image);
                        Glide.with(getApplicationContext())
                                .load(image)
                                .into(navImage);

我在网上发现他们正在谈论分离和重新附加监听器,但我没有监听器设置,所以我不明白如何在我发现使用 .setdrawerlistner 但已被弃用的情况下实现它。非常感谢您在这一点上丢失任何帮助

【问题讨论】:

  • “我在抽屉里的一个片段...”你真的在导航抽屉上有一个片段吗?
  • 不,我措辞不好会更新它片段是导航抽屉上的一个标签

标签: android android-fragments navigation-drawer


【解决方案1】:

我的做法是错误的,我只是使用请求选项使用带有滑行的占位符

                            RequestOptions options = new RequestOptions()
                                .placeholder(R.drawable.no_profile_picture)
                                .error(R.drawable.no_profile_picture)
                                .diskCacheStrategy(DiskCacheStrategy.ALL)
                                .priority(Priority.HIGH);

                        ImageView navImage = headerView.findViewById(R.id.menu_image);
                        Glide.with(getApplicationContext())
                                .load(image)
                                .apply(options)
                                .into(navImage);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-16
    • 2016-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多