Собственно, как скрыть/сделать не доступными некоторые методы класса?
Например, перезаписанные public методы класса-родителя:
public class MyLayout extends FrameLayout {
public MyLayout(Context context) {
super(context);
}
/**
* КАК СДЕЛАТЬ ЭТОТ МЕТОД НЕДОСТУПНЫМ / ИЗМЕНИТЬ ВИДИМОСТЬ ???
*/
@Override
public void addView(View child) {
super.addView(child);
}
}
В C#, видел, делали что-то такое:
//Вот это
public override string ToString() {}
//Меняли на это
private new string ToString() {}
А как в java сделать подобное никак не найду. Причем в Android Studio в классах библиотек, вот например Context, есть скрытые методы, которые выглядят так:
/** @hide */
public boolean isAutofillCompatibilityEnabled() {
return false;
}
И, соответственно, этот метод не видим, хоть и public.
Отсюда и вопросы: как это сделано и как сделать так же?
И что это вообще за теги в комментариях (@hide, {@link } и т.п.)? Если пишу так же - говорит неизвестный тег.
В Java
можно написать так:
public class Base {
protected void method() { ... }
}
public class Derived extends Base {
@Override
public void method() { ... }
}
Сделать наоборот, то есть уменьшить видимость метода (protected
-> private
), не получиться.
Можно ли в Android Canvas вешать слушателей на изображения(BitMap) ?
Есть сторонний виджет, который представляет собой просто форму обратной связи iframe, вопрос: возможно ли изменить в нем какие-то стили на моем...
У меня есть папка с папками, в каждой из них лежит несколько markdown файлов: