为了账号安全,请及时绑定邮箱和手机立即绑定

更改可见性导致我的应用程序崩溃,为什么?

更改可见性导致我的应用程序崩溃,为什么?

慕桂英4014372 2023-03-17 14:15:15
我有2节课。一个类在我的扩展视图的 GameView 类中创建了我的迷宫游戏。GameView 类:将我的视图的可见性设置为 VISIBLE,直到玩家 == 退出,然后它不可见(如预期的那样)但是我的 LinearLayout 视图(在 OnCreate、MainActivity.java 中是不可见的)当布尔值(播放器)设置为 VISIBLE == exit) 为真,导致应用程序崩溃。我知道更改 LinearLayout 的可见性会导致崩溃,就好像我将其注释掉一样,它会使应用程序崩溃。我试图更改我的 MainActivity 类中的可见性,但这似乎也不起作用。我目前正在尝试使用 Intent 将此信息推送到 MainActivity,以使用我的 playAgain() 但我不确定该怎么做。@Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        LinearLayout layout = findViewById(R.id.playAgainLayout);        layout.setVisibility(View.INVISIBLE);}public void createMaze(){...... do {            next = getNeighbour(current);            if (next != null) {                removeWall(current, next);                stack.push(current);                current = next;                current.visited = true;            } else                current = stack.pop(); //gives us the top element of the stack and removes it from the        }while(!stack.empty());        Animation slideUp = AnimationUtils.loadAnimation(getContext(), R.anim.slide_up);        gameView.startAnimation(slideUp);}public void checkExit() {        if (player == exit && counter < 3) {            counter++;            Animation slideDown = AnimationUtils.loadAnimation(getContext(), R.anim.mazeslidedown);            gameView.startAnimation(slideDown);            gameView.setVisibility(INVISIBLE);//            layout.setVisibility(VISIBLE);        }    }我想要的是让迷宫变得不可见,LinearLayout 变得可见,并允许用户点击我的按钮(暂时重新启动迷宫)。
查看完整描述

3 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

我看过你关于那个的另一篇文章,并认为问题是因为你试图访问一个与该类不相关的布局对象,你可以在 onCreate() 的主类中使用 setContentView(R. layout.activity_main); 关联它并通过对你的其他类的引用发送它,但我不确定通过它是否会起作用。



查看完整回答
反对 回复 2023-03-17
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

您没有定义 gameView 变量。你应该把 gameView = findeVideById(R.id.game_view) 你的 onCreate 方法



查看完整回答
反对 回复 2023-03-17
?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

我想你忘了gameView = findViewByID(R.id.your_gameview_id)



查看完整回答
反对 回复 2023-03-17
  • 3 回答
  • 0 关注
  • 97 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信