简体   繁体   English

在片段开始之前显示吐司

[英]Show the toast before fragment start

I'm beginner in Android and am trying to write a simple application. 我是Android的初学者,正在尝试编写一个简单的应用程序。 When into fragment click on button start other fragment, for that purpose: 当进入片段时,单击按钮启动另一个片段,为此:

@Override
public void onClick(View v) {
    new Handler(Looper.getMainLooper()).post(new Runnable() {
        @Override
        public void run() {
            Toast.makeText(getActivity(), "Hello", Toast.LENGTH_SHORT).show();
            FragmentTransaction transaction = getActivity().getSupportFragmentManager().beginTransaction();
            secondFragment.removeAllViews();
            transaction.replace(R.id.secondFragment, new DashBoardFragment());
            transaction.commit();
        }
    });
}

but after other fragment start show the Hello Toast, but I want show before fragment start. 但是在其他片段开始之后显示Hello Toast,但是我想在片段开始之前显示。

Try this in onClick after toasting :- toasting后在onClick尝试:

new Handler().postDelayed(new Runnable() {
    @Override
    public void run() {
        FragmentTransaction transaction = getActivity().getSupportFragmentManager().beginTransaction();
        secondFragment.removeAllViews();
        transaction.replace(R.id.secondFragment, new DashBoardFragment());
        transaction.commit();
    }
}, Toast.LENGTH_SHORT);

Your fragment transaction will take place after 1500 ms ( hence your toast message would shoot up before transaction takes place ) 您的片段事务将在1500毫秒后发生( 因此,吐司消息将在事务发生前弹出

Your full on click method... 您的完全点击方法...

@Override
public void onClick(View v) {
    Toast.makeText(getActivity(), "Hello", Toast.LENGTH_SHORT).show();
    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            FragmentTransaction transaction = getActivity().getSupportFragmentManager().beginTransaction();
            secondFragment.removeAllViews();
            transaction.replace(R.id.secondFragment, new DashBoardFragment());
            transaction.commit();    
        }  
    }, Toast.LENGTH_SHORT);              
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM