【问题标题】:Custom button field in blackberry黑莓中的自定义按钮字段
【发布时间】:2011-10-11 07:46:42
【问题描述】:

我在我的应用程序中使用自定义 ButtonField。我已使用 Coderholic 上“Blackberry Custom Button Field”博客文章中的代码在我的应用程序中创建自定义按钮。 现在我想将此自定义按钮的可编辑属性设置为 false。

我如何为这个自定义按钮做相当于button.setEditable(false) 的操作?

mybuttonid.setEditable(false) 不工作。

【问题讨论】:

    标签: blackberry java-me


    【解决方案1】:

    覆盖 Field.setEditable(boolean editable) 以跟踪您自己的自定义可编辑布尔值:

    private boolean customEditable = true;
    
    public void setEditable(boolean editable) {
        super.setEditable(editable);
        customEditable = editable;
        // invalidate(); forces paint(Graphics graphics) to be called
    }
    

    覆盖 navigationClick(int status, int time) 以使用该布尔值来检测是否对点击事件做出反应:

    protected boolean navigationClick(int status, int time) {  
        if (customEditable) fieldChangeNotify(1);
        return true;
    }
    

    如果您需要为禁用状态自定义视觉外观,则还需要覆盖 paint(Graphics graphics) 以使用另一种颜色。在这种情况下,您还需要从setEditable() 调用invalidate()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多