Utworzono niestandardowy widok (znajdź here) z atrybutem typu enum, który można stylować w stylu deklaracji. W xml mogę teraz wybrać jedną z pozycji wyliczeniowych dla mojego niestandardowego atrybutu. Teraz chcę utworzyć metodę, aby ustawić tę wartość programowo, ale nie mam dostępu do wyliczenia.Jak uzyskać wyliczenie, które jest tworzone w pliku attrs.xml w kodzie
attr.xml
<declare-styleable name="IconView">
<attr name="icon" format="enum">
<enum name="enum_name_one" value="0"/>
....
<enum name="enum_name_n" value="666"/>
</attr>
</declare-styleable>
layout.xml
<com.xyz.views.IconView
android:id="@+id/heart_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="enum_name_x"/>
Co potrzebne jest coś takiego: mCustomView.setIcon(R.id.enum_name_x);
Ale nie mogę znaleźć wyliczenia albo ja nawet nie mam pojęcia jak mogę uzyskać enum lub nazwy enum.
Dzięki
Myślę, że poleganie tutaj na enum ordinals ma na celu stworzenie niewiarygodnego kodu. Jedna rzecz zostanie zaktualizowana, a nie druga, a wtedy będziesz miał kłopoty. – tir38