Slide views zugriff auf view objekte

  • Antworten:5
  • OffenNicht stickyNicht beantwortet
  • Forum-Beiträge: 3

07.09.2015, 10:38:57 via Website

Hallo, da ich erst seit kurzen mit Android angefangen habe, habe ich da ein kleines Verständnisproblem.

Als Codegrundlage dient das SlidingTabsBasic Sample auf developer.android.com/samples/SlidingTabsBasic/project.html.

wenn ich dieses Beispiel etwas abändere dh. einen Button auf der Mainactivity hinzufüge, der dann falls er gedrückt wird zb. die Textfarbe des Texviews im ersten zweiten und dritten Tab in rot ändern soll (zb die Angezeigte Page Zahl), habe ich damit ein Problem.

Ich weis nicht wie ich auf diese Objekte Zugriff erhalte.
view.findViewById() vom root view klappt nicht da mehrere dieser Objekte existieren und er nur das auf den ersten Tab findet.

Vielleicht kann mir jemand helfen?

Danke

— geändert am 07.09.2015, 11:32:30

Antworten
  • Forum-Beiträge: 22.375

07.09.2015, 10:53:21 via Website

Hallo Christian

Herzlich willkommen bei uns im Forum :)

Bitte beachte, dass Threads mit nicht aussagekräftigem Titel bei uns üblicherweise den Regeln entsprechend entfernt werden. Ich bitte dich daher, deinen Threadtitel innerhalb der nächsten 24 Stunden, spätestens jedoch bei deinem nächsten Besuch noch etwas aussagekräftiger zu gestalten (Hierfür einfach unter deinem ersten Beitrag auf 'bearbeiten' klicken, dann kannst du oben noch mal den Titel anpassen)

Danke :)

Viele Grüße,
Andy


OnePlus 3 (Resurrection Remix 5.8.2)
LG G Watch

Regeln | unsere Mods & Admins

Antworten
  • Forum-Beiträge: 3

07.09.2015, 11:34:41 via Website

Die Links zu den aussagekräftigen Titeln helfen mir bei meinem Problem nicht viel weiter. Ich habe versucht es im Titel noch näher zu spezifizieren und hoffe das es nun ausreichend genug ist.

Andy N.

Antworten
  • Forum-Beiträge: 1.904

07.09.2015, 14:19:16 via App

Meinst du die Farbe des Textes von einem Tab? http://developer.android.com/samples/SlidingTabsBasic/src/com.example.android.common/view/SlidingTabStrip.html in der onDraw siehst du, woher die Farbe kommt. Die kannst du dann verändern.

Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀

Why Java? - Because I can't C#

Christian B.

Antworten
  • Forum-Beiträge: 3

07.09.2015, 16:20:25 via Website

Ich meinte eher die Farbe desTextviews in der pager_item.xml:

android:id="@+id/item_title"

hier ist es mir unklar wie ich Zugriff auf das Objekt (zb. der Textview im 3. Tab) bekomme, egal ob ich nun die Farbe oder den Text ändere.
innerhalb der Methode public Object instantiateItem(ViewGroup container, int position) kann ich dies zwar tun, allerdings ist mein Problem wenn ich mich nicht innerhalb dieser Methode befinde wie ich dann Zugriff auf mein gesuchtes Objekt bekomme.

Eine Möglichkeit wäre innerhalb dieser Methode eine Referenz zu erzeugen auf das gewünschte Objekt und diese in einer Liste zu speichern auf der ich von aussen Zugriff habe. Meine Vermutung ist allerdings es muss eine einfachere Möglichkeit geben dies zu tun?

Mein Gedanke ist es gibt einen Container indem sich die einzelnen Items der unterschiedlichen Tabs befinden, nur leider weis ich nicht wie ich darauf zugreifen könnte...

— geändert am 07.09.2015, 16:25:35

Antworten
  • Forum-Beiträge: 1.904

07.09.2015, 18:21:21 via App

Achso, dafür übergibt man dem Adapter eigentlich Daten, die er anzeigen soll. Wenn er später andere Daten anzeigen soll, gibt man ihm neue Daten mit nem Setter. Danach ruft man notifyDataSetChanged() auf, damit die Pages neu zu erstellt werden.
Ich finde es untypisch, initstate oder so zu benutzen, ich nehme getPage() oder so.

Oder pages als Fragment http://developer.android.com/training/animation/screen-slide.html#viewpager

— geändert am 07.09.2015, 18:22:56

Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀

Why Java? - Because I can't C#

Antworten