片段交易后如何禁用按钮?

Posted

技术标签:

【中文标题】片段交易后如何禁用按钮?【英文标题】:How to disable buttons after fragment transaction? 【发布时间】:2019-01-22 07:55:06 【问题描述】:

我的应用中有两个按钮。一个打开的片段(片段按钮)和一个打开的活动(活动按钮)。点击fragment按钮后立即点击activity按钮,fragment打开,activity在他之后打开。单击片段按钮后,无需禁用活动按钮即可解决我的问题。

这是我的片段交易:

 searchAddressFragment = new SearchAddressFragment();
            searchAddressFragment.setArguments(args);
            searchAddressFragment.setItRangeAddress(isItRangeAddress);
            ft.replace(drawerLayout.getId(), searchAddressFragment).addToBackStack("searchAddressFragment").commit();

【问题讨论】:

您能否发布打开片段和活动的按钮的 onClick() 代码? 您应该为按钮单击管理一个标志。但首先你检查为什么当你点击 Fragment Button 时活动是打开的 你应该使用一个处理程序来管理点击标志,比如在 200 毫秒后设置 isButtonClicked=true 【参考方案1】:

如果你不想禁用按钮,你应该想出使用这样的标志的解决方法;

firstButton.setOnClickListener(new View.OnClickListener() 
        @Override
        public void onClick(View v) 
            if(!isButtonClicked)
                 startYourFragmentTransaction();
            
            isButtonClicked = true;
        
    );

secondButton.setOnClickListener(new View.OnClickListener() 
        @Override
        public void onClick(View v) 
            if(!isButtonClicked)
                startYourActivity();
            
            isButtonClicked = true;
        
    );

注意。交易完成后,您可能需要将isButtonClicked 标志改回 false

【讨论】:

以上是关于片段交易后如何禁用按钮?的主要内容,如果未能解决你的问题,请参考以下文章

如何禁用浏览器后退按钮..? [复制]

使用贝宝按钮 - 我的网页可以判断贝宝交易是不是成功?

片段交易动画:滑入滑出

如何禁用在android片段类中按下的后退按钮

阿里巴巴是如何实现网上交易的与传统交易方式相比都有哪些差异

带有转换的片段交易 - 需要唯一的转换名称