Problemy z obiektami w Java

0

Witam, ostatnio zacząłem programowanie dla androida co oznacza javę z którą do tej pory nie miałem do czynienia, staram się jakoś przystosować do tego ale mam parę pytań.
W jaki sposób stworzyć funkcję która będzie operować na obiekcie, np.:


private void jakasfunkcja()
{ 
    // Jak ma poprawnie wyglądac ta funkcja aby była stosowana do obiektu? Coś w rodzaju this z JavaScript?
}

ImageView imageview1  = (Button) findViewById(R.id.imageview1);
imageview1.jakasfunkcja();

drugie pytanie, to w jaki sposób znając id obiektu i mając go w zmiennej (np: zmienna=imageview1) mogę sprawdzić jaki jest jego typ i użyć tego później w konstruktorze:


MojTyp zmienna  = (MojTyp) findViewById(R.id.zmienna);
0

Musisz tą metodę stworzyć jako metodę danego typu. Oczywiście dla typu wbudowanego zrobić tego nie mozesz, wtedy opcje są 2:

  1. Dziedziczenie z tej klasy wbudowanej i w swojej klasie zaimplementowanie tej metody
  2. Kompozycja - twoja nowa klasa zawiera w sobie obiekt klasy wbudowanej i deleguje do tego obiektu większość wywołań metod.

Nie widzę tutaj żadnego wywołania konstruktora i nie rozumiem po co ci to, ale typ obiektu możesz sprawdzić przez instanceof

0

dość niefortunnie powiedziałem o konstruktorze )

Problem z instanceof jest taki że on zwraca tylko true/false a ja chciałem zeby mi do stringa wywaliło np TextView.
Znalazłem w google jak dobrać się do np. TextView znając tylko "tekstowo" jego id np textview1 ale ten kod sprawia crash programu:

object_id = getResources().getIdentifier(identifier, "view", "android.view");
object    = findViewById(object_id);

pojęcia nie mam czy to jest prawidłowo napisane...

ale gdyby mi się udało w SPACJA końcu złapać ten obiekt to czy zadziała na nim funkcja getClass aby sprawdzić jego typ?

0

Tak, ale jeśli faktycznie musisz takich cudów używać to pewnie coś po prostu źle zrobiłeś :P

0
zmienna.class.getCanonicalName() ?
0

nie muszę tego używać :) po prostu chciałem stworzyć sobie metodę którą będę wywoływał pewne animacje, ale muszę wiedzieć do czego tą animację zastosować, także
albo musiałbym zrobić coś takiego jak ImageView.animacja(); (nie wiem nawet czy coś takiego jest dozwolone w javie) albo animacja(ImageView) tyle że typ obiektu
chciałbym sprawdzić wewnątrz tej metody.

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