android开发 Activity跳转Fragment黑屏

来源:互联网 发布:最近网络流行歌曲2017 编辑:程序博客网 时间:2024/04/29 18:20

如题:我看了很多办法都没有解决,原因呢,应该是目标Activity初始化最先加载的windowFrame,并没有首先加载到布局,因此我只是在目标activity主题里面加了一行:

<item name="android:windowFrame">@color/transparent</item>

——————————分割线—————————–
2016年8月17日16:23:56
上面的情况在某些机子上面还是会出现黑屏现象,然后又改了一阵,现在已经解决:

context.startActivity(new Intent( mActivity, MainActivity.class));        mActivity.finish();
if(mActivity instanceof LoginActivity){            ((LoginActivity) mActivity).goMain();            mActivity.finish();        }else {            ToastUtil.defaultToast(context.getApplicationContext(),"程序出错了");        }

以上两种方法都会黑屏,有的在三星5.0.2上面比较严重,这样写又不会黑屏,唉:

 Intent intent=new Intent(MyApplication.getInstance(),MainActivity.class);        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);        MyApplication.getInstance().startActivity(intent);

——————2016年8月18日15:47:14——————-
跳转黑屏主要是目标activity或者Fragment还没有加载完成,activity就finish掉了,也可以在onPause()方法中写一个线程,停止3s钟再结束当前activity或许想过更好,当然在onPasuse()或者是onStop()中都可以吧

@Override    public void onPause() {        super.onPause();        try {            new Thread(new Runnable() {                @Override                public void run() {                    try {                        Thread.sleep(3000);                    } catch (InterruptedException e) {                        e.printStackTrace();                    }                }            }).start();            finish();        }catch (Exception e){            e.printStackTrace();        }    }

或者:

protected void onStop() {        super.onStop();        finish();//避免登陆成功之后跳转黑屏    }
1 0
原创粉丝点击