【问题标题】: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

标签: android android-fragments android-activity android-fragmentactivity


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-18
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 2011-04-04
    • 2011-03-22
    相关资源
    最近更新 更多