Android Studio, Kotlin. Ezt hogy tudom megcsinálni?
Hogy érem azt el, hogy minden egyes item a recycleview-on belül kattintásra egy teljesen másik oldalt nyit meg?
Valamiképp adni kell a recycleview-ben lévő menüknek esetleg egy ID-t, és egyesével megnyittatom a megfelelő activity-t velük? Hogyan?
Esetleg linkeket/tutorialokat ismertek ezzel kapcsolatban? Mert én egyet sem találtam 😔
if helyett inkább when-then blokkot használnék, de egyébként igen.
Tehát ha a position 1, akkor nyissa meg mondjuk az Activity1-et, ha 2, akkor nyissa meg az Activity2-t stb.
Nem sikerül 🥺
Bárhova teszem, bárhogy csinálom, mindig pirosan alá van húzva és hibát mutat.
Utána néztem a data passingnak, és az oké, hogy mondjuk a menün szereplő szöveget át tudnám vinni a másik oldalra amit megnyit, de ott meg is állt a tudomány.. (Meg minden activity teljesen más lenne. Egyiken belül lenne egy másik recycleview, másikon contact page pl)
Szóval mégis csak maradnék annál az ötletnél, hogy minden egyes gombnak lenne egy új activity-je, de sajnos nem sikerül, mert annyira még nem értek hozzá, valamint órák óta keresgélek, de tutorialt sem találok konkrétan ezzel a problémával.. :(
Hogy is van pontosan ez az if statement (kód szerint), és hova kell pontosan beírnom?
Nagyon örülnék a segítségnek 😬
Gondold át, hogy most mit csinál az appod.
Rányomsz egy menü elemre, mi történik?
Meghívódik az onBindViewHolder metódusban definiált OnClickListener onClick metódusa, nem?
Az mit csinál?
Visszahív a MainActivity-be (ha jól emlékszem), az pedig egy startActivity hívással elindítja saját magát (wtf?).
Te mit akarsz ehelyett?
Ne hívjon át a MainActivity-be, hanem az onClick-ből indítson el egy- a position paraméternek megfelelő Activity-t.
Tehát mit kell tenned?
Az onClick-ből hívni startActivity-t, a position alapján megmondva neki, hogy melyik Activity-t indítsa.
"position paraméternek megfelelő Activity-t"
Nem megy. Sehol nem találok még hasonlót sem. Konkrétan elment ezzel az egy dologgal egy teljes napom.
Feladom.
Csak tudod, hogy melyik menü elemre melyik Activity-t akarod megnyitni.
Az első menü elem mondjuk Juliska (tehát position 0), a második meg Mariska (1-es position).
A user rányom Juliskára, akkor azt akarod, hogy a JuliskaActivity nyíljon meg, ha Mariskára nyom rá, akkor meg a MariskaActivity.
Akkor megírod, hogy
if (position == 0) startActivity(context, JuliskaActivity::class.java)
else startActivity(context, MariskaActivity::class.java)
(ha 2-nél több van, akkor meg jobb esetben nem if-else blokkokat írsz, hanem when-t)
Nem megy. Ennyire béna nem lehetek, komolyan.
Durva hiányosságaim vannak az alapokban is, és azt se tudom hol pótolhatnám, mert egyik tutorialban sem mondják el a háttérben lévő dolgokat mi hogy műkődik, csak azt hogy ezt kell lemásold rólam és minden jó lesz.
Most pedig elém lett lökve, hogy egy ilyen és olyan appot kell megcsinálnod ekkorra, mindenféle segítség nélkül.. Tanárnak már egy kis esszét írtam a problémámmal kapcsolatban, rá 1 hétre írt vissza hajnali 3-kor három darab szót, ami totál nem segít.
Eddig konkrétan eljutottam, hogy if (position ==0) majd az actovity neve, csak éppen konkrétan azt sem tudom, hogy ezt hova írjam be, melyik class-ba, mi alá stb..
Mindenhova másolgatom befele, de mindig problémát kapok, neten meg konkrétan nem is találom ezt a témakört sehol, vagy csak rossz keresőszavakat használok..
Pechemre találtam 2-3 tutorialt, ami végén elmondták, hogy na így kell csinálni a recycleview-t, és komiba jelezzétek ha megakarjátok tudni, hogyan kell mindegyik recycleview-ban lévő menüről egy másik activity-t nyitni. De nyilván nem lett feltéve a videó 1 év után sem..
Olyat találtam még, hogy konkrétan nincs is másik activity, csak abban a text field-ben mindig más a szöveg függően attól mire nyomsz. De nekem ez sem jó, mert mindegyik activity-m totál más lenne..
Ez az if/when statement tűnne a leglogikusabbnak, de konkrétan azt sem tudom hova írjam ezt be..
Geez az életkedvem is elment magamtók
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!