黑莓中的自定义按钮字段

发布于 2024-12-08 22:55:21 字数 345 浏览 0 评论 0原文

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

如何为此自定义按钮执行与 button.setEditable(false) 等效的操作?

mybuttonid.setEditable(false) 不起作用。

I am using a custom ButtonField in my application. I have used the code from the "Blackberry Custom Button Field" blog post on Coderholic to create a custom button in my app.
Now I want to set the editable property to false for this custom button.

How do I do the equivalent of button.setEditable(false) for this custom button?

mybuttonid.setEditable(false) is not working.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

寄意 2024-12-15 22:55:21

覆盖 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) 以使用该布尔值来检测是否对点击做出反应events:

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

如果您需要禁用状态的自定义视觉外观,则还可以覆盖 paint(Graphicsgraphics) 以使用其他颜色。在这种情况下,您还需要从 setEditable() 调用 invalidate()

Override Field.setEditable(boolean editable) to track your own custom editable boolean:

private boolean customEditable = true;

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

Override navigationClick(int status, int time) to use that boolean to detect whether to react on click events:

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

If you need a custom visual appearance for disabled state, then also override paint(Graphics graphics) to use another color. In this case you'll also need to call invalidate() from the setEditable().

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文