【问题标题】:keep press buttons and managment back button保持按下按钮和管理返回按钮
【发布时间】:2013-10-12 22:25:37
【问题描述】:

我有 4 个按钮,当用户单击按钮时,我希望按钮保持按下状态。我进行了搜索,最后我将此代码用于按住按钮。但是当我选择后退按钮时,程序会回到活动之前,但是例如当我使用后退并转到介绍按钮时,程序无法显示按下介绍按钮。该程序显示最后一次按下按钮..

我该如何解决这个问题?请不要对我说,我使用 onTouch 方法和 onPressed 方法,因为这种方法弄乱了我的动画...

btnIntroduce.setBackgroundResource(R.drawable.introducepress);
btnContact.setBackgroundResource(R.drawable.contact);
btnMore.setBackgroundResource(R.drawable.more);
btnProduct.setBackgroundResource(R.drawable.product);

谢谢

【问题讨论】:

    标签: android button back


    【解决方案1】:

    我猜您已经编写了代码以在 onCreate 方法中保持按下状态,如果是这种情况,请在 onResume 方法中尝试您的代码。这将解决目的。

    在你的包中创建一个新类,例如

    public class SaveState {
    
        public static boolean checkContact, checkIntroduce, checkMore,
                checkProduct;
    
    }
    

    现在在您的活动中,替换您的以下代码

    checkContact = true/false;
    checkIntroduce = true/false;
    checkMore = true/false;
    checkProduct = true/false;
    

        SaveState.checkContact = true/false;
        SaveState.checkIntroduce = true/false;
        SaveState.checkMore = true/false;
        SaveState.checkProduct = true/false;
    

    并运行您的代码。

    【讨论】:

    • 感谢您的快速回复..请进一步解释。我在 onResume() 方法中添加了什么?我在 onCreate() 之外的私有 OnClickListener onClickListener=new OnClickListener() 方法中编写此代码。
    • 看看发生了什么,当您按下按钮时它工作正常,但是当您在按下返回按钮后再次进入此活动时,活动再次创建,因此您必须将按下的按钮状态保存在某处并在 onResume 方法中,您必须再次将其设置为按下状态。
    • 你的意思是我在 onResume() 中添加了这段代码(上面的代码)?但是我如何理解我设置 setBackgroundResource() 来按下哪个按钮?如果可以请添加零件代码以进行更多说明..
    • 我在 onResume() 中添加了上面的代码,为了检查,我使用了 4 个布尔变量,但是当我再次点击后退按钮时,问题没有解决!...
    • 更新答案,请查收
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-27
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    相关资源
    最近更新 更多