自定义弹出屏幕由于某种原因没有出现? Android Studio 问题

问题描述

我目前正在处理一个项目,我想添加一个弹出窗口来作为游戏的教程。我看了这个video,它讲述了你将如何做这样的事情,我设法做到了,但不幸的是最终没有成功。

我在我的教程弹出按钮上放了一个 setOnClickListener 基本上可以调出窗口,但是每次按下它时,它都会停止并返回主菜单,表明它不起作用。

代码:

package com.example.rockpaperscissors;

import androidx.appcompat.app.AppCompatActivity;

import android.app.Dialog;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;

import static com.example.rockpaperscissors.R.id.tutorialButton;

public class MainMenu extends AppCompatActivity {

    Button tutorialButton,playGameButton,closeButton;
    Dialog tutorial_popup;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
        getSupportActionBar().hide();
        setContentView(R.layout.activity_main_menu);
        playGameButton = findViewById(R.id.playGameButton);
        tutorialButton = findViewById(R.id.tutorialButton);
        playGameButton.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                startActivity(new Intent(MainMenu.this,MainGame.class));
            }
        });
    }

    public void ShowPopup(View v) { <--The problem comes from here -->
        tutorialButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                tutorial_popup.setContentView(R.layout.tutorial_popup);
                closeButton.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        tutorial_popup.dismiss();
                    }
                });
                tutorial_popup.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
                tutorial_popup.show();
            }
        });

    }
}

我不确定如何修复它,所以我很高兴知道我哪里出了问题以便解决它。提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)