Диалог появляется только после возвращения к активности - PullRequest
0 голосов
/ 25 декабря 2018

вот метод, который я сделал, который отображает диалоговое окно: само всплывающее окно работает хорошо, но всплывает только тогда, когда я ухожу и возвращаюсь к mainActivity, поэтому я предполагаю, что оно работает только после метода onResume.(«rewardDialog» уже был инициирован в классе mainActivity, например:

Dialog rewardDialog;

- затем после onCreate-

rewardDialog.setContentView (R.layout.rewardpopup);)

    public void showRewardPopup(View v) {

    TextView close;
    final TextView claim;
    final TextView newReward;
    final TextView done;
    final TextView congrats;
    final ImageView bronzeTrophy;
    final ImageView silverTrophy;
    final ImageView goldTrophy;


    container.addEmoji(R.drawable.confetti);

    //close
    close = rewardDialog.findViewById(R.id.done);
    close.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            rewardDialog.dismiss();
        }
    });

    //hide to go to next screen
    claim = rewardDialog.findViewById(R.id.claim);
    newReward= rewardDialog.findViewById(R.id.newReward);
    done = rewardDialog.findViewById(R.id.done);
    congrats = rewardDialog.findViewById(R.id.congrats);
    bronzeTrophy = rewardDialog.findViewById(R.id.bronzeTrophy);
    silverTrophy = rewardDialog.findViewById(R.id.silverTrophy);
    goldTrophy = rewardDialog.findViewById(R.id.goldTrophy);

    //show popup
    rewardDialog.getWindow().getAttributes().windowAnimations = R.style.popUpAnimation;
    rewardDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
    rewardDialog.show();

    claim.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            claim.setVisibility(View.GONE);
            newReward.setVisibility(View.GONE);
            done.setVisibility(View.VISIBLE);
            congrats.setVisibility(View.VISIBLE);

            if(reachedBronze){
                bronzeTrophy.setVisibility(View.VISIBLE);
                showedBronzePopUp=true;
                reachedBronze=false;
                saveBronzeReward();
            }

            if(reachedSilver && counter>=50) {
                silverTrophy.setVisibility(View.VISIBLE);
                showedSilverPopUp=true;
                reachedSilver=false;
                saveSilverReward();
            }

            if(reachedGold && counter>=100) {
                goldTrophy.setVisibility(View.VISIBLE);
                showedGoldPopUp=true;
                reachedGold=false;
                saveGoldReward();
            }

            //start confetti
            container.stopDropping();
            container.setPer(10);
            container.setDropDuration(2400);
            container.setDuration(7200);
            container.setDropFrequency(500);
            container.startDropping();


        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...