gpt4 book ai didi

android - 更新键盘图标

转载 作者:行者123 更新时间:2023-11-29 22:11:12 25 4
gpt4 key购买 nike

我是 Android 和 Eclipse 开发的新手,但对一般的软件开发来说并不陌生。

作为我的第一个真正的项目,为了克服学习曲线,我正在修改 SDK 示例软键盘以包含“宏”功能。

主要功能正常运行。但是,在两种情况之一中,我无法更新键盘键图标。

我创建了一个功能键“Fn”,当我按下后跟一个字母键时,会将我预定义的字符串之一插入到编辑字段中——比如我的电子邮件地址。

在第一种情况下,当我按下功能键时,我将图标更改为表示“功能已激活”。如果我反复按功能键,图标会在表示 Activity 和不活动之间来回变化。这是正确的。

在第二种情况下,我按下功能键,图标变为表示“功能激活”,然后我按下一个字母键。在任何文本字段中正确输入宏字符串,然后在代码中将“功能”状态更改为非 Activity 状态并更新图标。

使用日志我可以看到代码被执行以正确更改图标,但图标没有改变。它仍然显示“功能 Activity ”状态,即使我看到内部标志已更改为非 Activity 状态,并且我可以看到可绘制的键图标已正确编写以使键显示“功能非 Activity ”状态。

我已经尝试了一大堆不同的东西 – 无济于事。

在这种情况下,是什么原因阻止了此 key 图标的更新?

第二种情况下的所有内容似乎都执行与第一种情况相同的代码——有效的情况,反复按下功能键。我能想到一个区别。反复按功能键时,功能键有“焦点”。当我按功能键,然后按一个字母键时,字母键是带有“焦点”的那个。我不知道这是否有意义。我曾尝试寻找某种无效方法,但找不到任何东西。

非常感谢任何提示或建议。

谢谢,巴里。

最佳答案

如果我没记错的话,软键盘示例使用 2 种不同的键盘布局,并在您按下时在它们之间切换。一个是“inactive”,一个是“active”。

但是,根据我的理解,您实际上是在不切换键盘布局的情况下更改物理图标。如果是这种情况,则每次都需要重新创建键盘。为什么?第一次创建键盘 View 时,它会被一遍又一遍地重复使用。即使您更改图标,也不一定会重新创建 View 。

我以前遇到过这种问题。尝试重新创建您的键盘对象 - 这也将重新创建 View 。键盘类中的函数 createKeyFromXml 是实际创建“键”的地方。如果您将日志放入此函数中,则当对象首次创建/或首次显示时,每个键仅调用一次。

关于android - 更新键盘图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9588404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com