主活动重新加载时没有动画

时间:2017-07-24 20:38:33

标签: java android android-fragments

我正在使用WebView应用程序。我有一个片段(“NoInternet”)显示一条消息:“没有互联网”,当我下拉刷新时,它重新加载主要活动主要活动有一个代码来检查互联网连接,如果没有互联网连接,它将加载片段“NoInternet.java”。如果有互联网,它将使用WebView加载另一个片段。因此,在“NoIternet”片段中,我有一个SwypeRefreshLayout,它完成了我的MainActivity,并再次加载它。但它有一个动画,我不想要这个动画。我尝试了一些像startActivity(new Intent(getContext(), MainActivity.class).addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION));这样的代码但是没有工作。有人可以帮帮我吗?

NoInternet Fragment

SwipeRefreshLayout mySwipeRefreshLayout;

public static NoInternet newInstance() {
    NoInternet fragment = new NoInternet();
    return fragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.nointernet, container, false);
    mySwipeRefreshLayout = (SwipeRefreshLayout) rootView.findViewById(R.id.swiperefreshnointernet);


    mySwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
        @Override
        public void onRefresh() {
            getActivity().finish();
            Intent intent = new Intent(getActivity(), MainActivity.class);
            startActivity(intent);
            mySwipeRefreshLayout.setRefreshing(false);
        }
    });

    return rootView;
}

1 个答案:

答案 0 :(得分:0)

我认为您只需更新活动中的内容然后完成它就会更好。但如果你真的需要这样做,你可以尝试从这个线程的Stephane Mathis方法:Refresh activity without re-opening it?

finish();
overridePendingTransition( 0, 0);
startActivity(getIntent());
overridePendingTransition( 0, 0);