Android Studio解决页面间跳转出现白屏以及返回时出现循环的问题

    Android Studio两个页面间的相互跳转,可通过以下代码实现:

        button1 = (Button) findViewById(R.id.bt1);//id后面为上方button的id

        button1.setOnClickListener(new View.OnClickListener() {
           
            public void onClick(View v) {
                Intent intent1 = new Intent();
                intent1.setClass(MainActivity.this, Main3Activity.class);//this前面为当前activty名称,class前面为要跳转到得activity名称
                startActivity(intent1);
            }
        });

 

    在实际操作中我发现两个页面的确可以相互跳转了,但是使用返回键返回时又会回到上一个界面,这样就出现了一种循环的情况,要点击多次返回键才能返回到桌面。比如说我创建了一个activity(A)作为程序主界面,一个activity(B)作为从界面,通过上述代码我可以通过点击按钮从A界面进入到B界面,再次点击按钮从B界面回到A界面。这时我点击返回键原本是需要直接退到桌面的,但是却再次进入了B界面,接着又进入到了A界面,最后才退到了桌面。

    在查阅了相关的资料后,我发现是因为之前的activity还一直存在着,所以出现了这种重复跳转的情况,因此只需要在这两个activity中都调用finish()方法就行了。一开始我只在B中调用finish方法,这样的话从A界面退回桌面就需要点击两次返回键才行,因为在B界面跳转到A界面时又相当于创建了一个新的A界面,因此需要将A界面finish掉。

    注意:finish()要放在startActivity(i)之后,如果放在前面的话,在进行页面间的转换时就会有白屏的情况出现,我想应该是原界面提前被finish掉而新界面又没有创建起来所导致的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值