10

私はかなり一般的であると私が推測する状況を持っています。私はJava列挙型を持っています:

public enum Flavour { CHOCOLATE, STRAWBERRY }

attrs.xml で定義されたカスタム属性があります。

<attr name="flavour">
    <enum name="chocolate" value="0" />
    <enum name="strawberry" value="1" />
</attr>

しかし、これは本当にもろい気がします。属性から列挙型に手動で正しくマッピングする必要があります。

誰かが enum Flavor の末尾に「SARDINE」を追加した場合、属性定義に自動的に追加されないことは明らかです。それは十分に公平です。

さらに悪いことに、誰かが列挙の途中に「SARDINE」を追加すると、「strawberry」を使用する xml レイアウトが壊れます。

人々はこれをどのように克服しますか?string の使用 (および の使用Flavour.valueOf()) を検討しましたが、よりクリーンなソリューションがあることを期待していました。

4

1 に答える 1