【问题标题】:Blackberry: How can I make a buttonfield act like toggle button?Blackberry:如何使按钮域像切换按钮一样?
【发布时间】:2010-05-04 14:53:27
【问题描述】:

我有一个按钮,我想将其用作开始/停止按钮。如何使按钮域用作切换按钮?

请帮忙。

【问题讨论】:

    标签: blackberry toggle buttonfield


    【解决方案1】:

    只需更改 fieldChange 或 navigationClick 或 touchEvent 上的按钮标签,不要忘记在类成员中保存切换状态:

    class ToggleButtonField extends ButtonField {
        int mToggleState = -1;
        String[] mLabels = {};
        public ToggleButtonField(String[] labels) {
            super(CONSUME_CLICK);
            if(labels != null && labels.length > 0)
            {
                mLabels = labels;
                mToggleState = 0;
                updateLabel();                  
            }       
        }
    
        private void updateLabel() {
            setLabel(mLabels[mToggleState]);        
        }
    
        protected void fieldChangeNotify(int context) {
            mToggleState = getNextToggleState(mToggleState);
            updateLabel();
            super.fieldChangeNotify(context);
        }
    
        private int getNextToggleState(int state) {
            int result = mToggleState+1;
            if(result >= mLabels.length)
                result = 0;
            return result;
        }
    }
    

    【讨论】:

    • 您好,我尝试使用此类 - String[] labels={"Yes","No"}; edord = new ToggleButtonField(labels); edord.setChangeListener(this); grid2.add(edord);//但是我在屏幕上看不到任何东西我还需要做什么
    • @Jatin grid2 代表 GridFieldManager 吗?您是否已将 grid2 添加到屏幕管理器?如果仍然不起作用,您可以在 satckoverflow 中发布新问题并将链接放在评论中吗?谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-30
    • 2011-01-22
    • 1970-01-01
    • 2021-02-03
    • 2011-07-28
    • 1970-01-01
    相关资源
    最近更新 更多