Получить атрибут Hint Значение из AttributeSet

Я переопределил EditText, как указано в этой ссылке .

Теперь, объявляя это поле внутри макета, я использую

<com.and.ab1209.ClearableEditText android:id=”@+id/edit_text_clearable” android:layout_width=”fill_parent” android:hint="My Hint Goes here" android:layout_height=”wrap_content” /> 

Как получить это значение подсказки внутри любого из этих конструкторов.

  public ClearableEditText(Context context, AttributeSet attrs, int defStyle){...} public ClearableEditText(Context context, AttributeSet attrs){...} 

Как мне это сделать?

Вы можете получить доступ к стандартным атрибутам xml, выполнив следующие действия в своем конструкторе представлений:

 final String xmlns="http://schemas.android.com/apk/res/android"; //If you had a background attribute this is the resource id int backgroundResource = attrs.getAttributeResourceValue(xmlns, "background", -1); //This is your views hint String hint = attrs.getAttributeValue(xmlns, "hint"); 

Неважно, если ваше представление наследуется от TextView, если вы указали подсказку с помощью android:hint будет доступна в вашем пользовательском представлении.

Вы не можете получить доступ к атрибутам «android». Вы можете использовать getHint() после вызова super() constructor. Если вы хотите создать свой собственный атрибут, следуйте этому руководству .

Используйте this.getHint() внутри вашего конструктора