Доступ к атрибуту виджета через AttributeSet — Android

#java #android #view #namespaces

#java #Android #Вид #пространства имен

Вопрос:

Это должно быть довольно простой задачей. У меня есть представление со следующим:

 <LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:panel="org.miscwidgets"

<org.miscwidgets.widget.Panel
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_gravity="right"
    panel:handle="@ id/panelHandle"
    panel:content="@ id/panelContent"
    panel:position="right">
  

Я пытаюсь получить доступ к свойству position в конструкторе представления, однако оно последовательно возвращает null.

         String posVal = attrs.getAttributeValue("schemas.android.com/apk/gen/org.miscwidgets", "position");
  

Как я могу получить значение? Мое пространство имен неверно?

Я видел ссылки на Styleables, но мне не удалось найти ни одного, который не был бы устаревшим.

Ответ №1:

Я думаю, вам следует написать в своем xml

 xmlns:panel="http://schemas.android.com/apk/gen/org.miscwidgets"
  

Вместо

 xmlns:panel="org.miscwidgets"
  

И получить его с помощью

 attrs.getAttributeValue("http://schemas.android.com/apk/gen/org.miscwidgets", "position");