Dałem to pytanie przez mojego przyjaciela i nie jestem w stanie wymyślić odpowiedzi na własną rękę. Próbowałem już wybrać google, ale zamiast tego znajdowałem odpowiedzi na platformę IOS.

Być może mógłbym guzdzić niewłaściwą terminologię, chciałbym wytyczne, jak znaleźć odpowiedź. Jeśli chodzi o scenariusz taki, że Android OS / Abstraction wykonuje wdrożenie dla dewelopera, chciałbym wiedzieć, co również.

Jak określić wspólny nadzór dwóch widoków w Androidzie?

0
Ebad Saghar 2 czerwiec 2018, 01:11

3 odpowiedzi

Najlepsza odpowiedź

Użyj View.getParent () z obu widoków, dopóki nie znajdziesz Najniższy wspólny przodek w N-Ary Drzewo poglądów.

1
Diego Torres Milano 1 czerwiec 2018, 22:32

Java nie ma wielu dziedziczenia, więc nie możesz tego zrobić przez extends, ale istnieje sposób, aby zrobić to przez interfejsy. Wystarczy zdefiniować interfejs z metodami, które chcesz mieć podklasy widoku, a następnie podklasy widoku muszą wdrożyć ten interfejs.

0
Alexei Artsimovich 1 czerwiec 2018, 22:14

Nie wiem, czy istnieje istniejąca metoda, aby to zrobić w Androidzie, ale nie jest trudne do napisania własnej metody. Wspólny superview jest tylko najniższym wspólnym przodkiem (LCA) tych dwóch widoków w drzewie widoków. Znalezienie LCA jest standardowym problemem algorytmicznym i istnieje wiele algorytmów z różnymi asymptotykami, aby go rozwiązać.

0
Serega 1 czerwiec 2018, 22:24