JAVA - pytanie nowicjusza

0

Witajcie,

Rozpoczynam "zabawe" z Android Studio. Znam podstawy podstaw Javy i dopiero sie ucze wiec prosze o wyrozumialosc. Czy ktos moglby wytlumaczyc mi nastepujaca skladnie?
'''textView = (TextView)findViewById(R.id.greetings_text_view);'''
To co wiem, to, ze "testView" to zmienna. "TextView" to typ zmiennej. findViewById to metoda. "R" to klasa, "id" - metoda, a "greetings_text_view" to odwołanie do konkretnego pola tekstowego. Ale nie rozumiem calosc - dlaczego ta skladnia tak wyglada?

Dzieki wszystkim za pomoc.

3

Robisz np. w Design swoje pole tekstowe i nadajesz mu id np. "pole_andrew".
I teraz chcesz w kodzie ustawić jakiś tekst.
Dlatego w kodzie programu tworzysz zmienną textView, ale może nazywać się inaczej textAndrzej, czy jakkolwiek. Zmienna jest klasy TextView
*TextView textAndrzej *
dalej najprościej mówiąc przypisujesz tej zmiennej ten widok, to pole tekstowe które stworzyłeś.
Aby to zrobić musisz skorzystać z metody findViewById(); Czyli nasz kod wygląda teraz tak:
TextView textAndrzej = findViewById();
Wypadałoby uzupełnić brakujący argument. Jak sama nazwa metody wskazuje wyszukujemy po ID czyli trzeba wkleić ID tego pola tekstowego. R.id.pole_andrew. Bo w pliku R znajdują się wszystkie id Twoich elementów.
TextView textAndrzej = findViewById(R.id.pole_andrew);
I zostało na koniec rzutowanie. Metoda findViewById zwraca widok. A my stworzyliśmy zmienną typu TextView, więc żeby nie było żadnych problemów musimy zrobić rzutowanie.
TextView textAndrzej = (TextView) findViewById(R.id.pole_andrew);

Teraz możemy korzystać z metod klasy TextView np. ustawić jakiś tekst na tym polu tekstowym.
textAndrzej.setText("Jupiiiiiiiiiiiii!");

0

Wielkie dzieki za wytlumaczenie Giga!

Generalnie wiekszosc rzeczy, ktore napisales jakos udalo mi sie rozgryzc. Najwiekszy problem mialem z tym "= (TextView)", czyli jak to okresliles - rzutowaniem. Dlaczego musze to robic? Czytam wlasnie, ze polega to na konwesji typu danych. Czyli w tym przypadku tu "wymuszam" zmiane typu danych zwracanych przez metode "findViewById" pod zmienna "textAndrzej" na "TextView"? Ostatnie pytanie - gdzie znajde opis metody findViewById?

Dzieki!

GigaBajt napisał(a):

Robisz np. w Design swoje pole tekstowe i nadajesz mu id np. "pole_andrew".
I teraz chcesz w kodzie ustawić jakiś tekst.
Dlatego w kodzie programu tworzysz zmienną textView, ale może nazywać się inaczej textAndrzej, czy jakkolwiek. Zmienna jest klasy TextView
*TextView textAndrzej *
dalej najprościej mówiąc przypisujesz tej zmiennej ten widok, to pole tekstowe które stworzyłeś.
Aby to zrobić musisz skorzystać z metody findViewById(); Czyli nasz kod wygląda teraz tak:
TextView textAndrzej = findViewById();
Wypadałoby uzupełnić brakujący argument. Jak sama nazwa metody wskazuje wyszukujemy po ID czyli trzeba wkleić ID tego pola tekstowego. R.id.pole_andrew. Bo w pliku R znajdują się wszystkie id Twoich elementów.
TextView textAndrzej = findViewById(R.id.pole_andrew);
I zostało na koniec rzutowanie. Metoda findViewById zwraca widok. A my stworzyliśmy zmienną typu TextView, więc żeby nie było żadnych problemów musimy zrobić rzutowanie.
TextView textAndrzej = (TextView) findViewById(R.id.pole_andrew);

Teraz możemy korzystać z metod klasy TextView np. ustawić jakiś tekst na tym polu tekstowym.
textAndrzej.setText("Jupiiiiiiiiiiiii!");

1 użytkowników online, w tym zalogowanych: 0, gości: 1