2011-01-24 15 views

Odpowiedz

60

id masz z zawierać tag jest przypisany do głównego Widok dołączonego układu. Najpierw uzyskaj odwołanie do tego widoku za pomocą findViewByid. Następnie możesz wywołać findViewById w tym konkretnym widoku, aby uzyskać odwołanie do widoku wewnątrz układu. A więc:

View myLayout = findViewById(R.id.cell1); // root View id from that link 
View myView = myLayout.findViewById(R.id.someinnerview); // id of a view contained in the included file 
+1

Dlaczego nie jest to głosowanie jako poprawna odpowiedź !!! –

2

Znacie identyfikator załącznika. Możesz zdobyć ten kompletny element, a następnie zacząć od jednego z jego dzieci.

0

Właściwie include znaczniki zawierają wszystkie elementy w układzie głównym. Zawsze możesz uzyskać do nich dostęp za pomocą findViewById swojej aktywności.

Załóżmy, że masz alayout.xml, w którym znajduje się układ include. Teraz w jednej z twoich aktywności A, wewnątrz onCreate zadeklarowałeś setContentView(R.layout.alayout) Teraz wewnątrz twojego układu włączeń możesz mieć przycisk o id myBtn. można uzyskać dostęp, że wewnątrz onCreate w ten sam sposób można je uzyskać dostęp gdyby było w głównej układ: findViewById(R.id.myBtn)

12

Wszystko czego potrzebujesz to identyfikator widoku macierzystego:

enter image description here

W tym przykładzie, LinearLayout jest obiektem nadrzędnym dla TextView Chcę z dołączonego widoku.

teraz mogę to zrobić:

View view = findViewById(R.id.include_title_layout); 
    TextView titleTV = (TextView) view.findViewById(R.id.newsTitleTextView); 
    titleTV.setText("Whatever"); 
0

myślę, że średnia jest NavigationView. można uzyskać dostęp do układu wewnętrznego w następujący sposób:

NavigationView ngv= (NavigationView) findViewById(R.id.navigation_id); 
View innerview = ngv.getHeaderView(0); 
TextView user_view= (TextView)innerview.findViewById(R.id.nav_name); //any you need 
user_view.setText(user); 
Powiązane problemy