I have seen a lot of posts with people wanting to know how to get custom attributes for a custom component, but that is not my question. I created a custom component and I try to add attributes, but when I add a namespace at the top of my xml file, it finds only two random user attributes: paddingEnd and paddingStart.
<resources> <declare-styleable name="menu_item_attrs"> <attr name="imageId" format="integer" /> <attr name="menuText" format="string" /> </declare-styleable> </resources>
This is attrs.xml file.
public MenuListItem(Context context, AttributeSet set) { super(context, set); TypedArray a = context.obtainStyledAttributes(set, R.styleable.menu_item_attrs); if (a == null) { return; } CharSequence s = a.getString(R.styleable.menu_item_attrs_menuText); if (s != null) {
This is the constructor in my custom class.
<LinearLayout xmlns:custom="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="0dp" android:id="@+id/expanding_layout" android:background="#029eed"> <aaron.testappanim.MenuListItem android:layout_height="wrap_content" android:layout_width="wrap_content"/> </LinearLayout>
This is my component to use. I want to add values ββto "imageId" and "menuText", but they are not available. The only thing that is displayed is the add-on, as shown below.

Any ideas guys?
source share