スポンサーリンク
SetPointの拡張方法に従ってHandlerSetを書き換えていると、機能名が空欄の機能が機能一覧に現れる場合があります。この原因と対策についてメモします。
スポンサーリンク
原因
これは、ボタンに割り当てるHandlerSetGroupの「HandlerSetNames」要素に列挙されているHandlerSetの書き方を間違えたときに発生します。もっと言えば、HandlerSetNameを間違えてしまっているとき、発生します。このとき機能名が空欄の機能は、存在しない機能という訳です。
対策
では、スペルミスなのかというと、そうとは限らないのがポイントです。実は、HandlerSetNamesでHandlerSetを列挙するときには、カンマの前後にスペースを入れてはいけないのです。これが原因になっている可能性が大きいと思われます。SetPointは、カンマの前後に挿入するスペースもHandlerSetの名前の一部であると認識してしまうようなのです。
そのため、無駄なスペースが入っていないか、また、HandlerSetの名前に元から入っているスペースを省略してしまっていないかを確認してください。
似たケース
空欄ではなく、HELP_などで始まる英数字になってしまう場合もありますが、これは、機能に対応するはずの機能の名前がString.xmlから取得できなかったことを意味します。該当する機能の機能名がちゃんとStrings.xmlで設定されているかどうか確認してみてください。
スポンサーリンク
スポンサーリンク