- 5.1, 7.1 és gamer fejhallgatók
- Amlogic S905, S912 processzoros készülékek
- Házimozi haladó szinten
- Sony MILC fényképezőgépcsalád
- Milyen billentyűzetet vegyek?
- Kész otthoni szórakoztató-központ a legújabb ROG monitor
- Vezeték nélküli fülhallgatók
- Vezetékes FEJhallgatók
- Autós kamerák
- Milyen monitort vegyek?
Új hozzászólás Aktív témák
-
thon73
tag
Köszönöm. Bár ezzel a válasszal nem sokra mentem.
Megpróbálom kicsit érthetőbben elmagyarázni. Az InputMethodService több billentyűzet adatait tartalmazza a nagyjából a következő módon:
InputMethodService - KeyboardView - GeneralKeyboardData - Keyboard - Button - Text
Természetesen egy kicsit összetettebb az egész, de a sor minden egyes gomb esetén ezen alaposztályok leszármazottaiból áll össze. A sor végén álló "Text" pl. definiálja az "A" karaktert (néhány egyéb tulajdonsággal, pl. hogy . után legyen nagy, meg ilyesmi.)
A mi szempontunkból az egyetlen lényeges dolog, hogy amikor a "Text" osztály el szeretné küldeni az 'A' karaktert, akkor az InputMethodService osztály metódusaira van szüksége. (Amire viszont senki másnak.)
Eddig pont ugyanúgy oldottam meg, ahogy pl. a Context-nél történik (Tehát nem a service-t szerettem volna contextből kinyerni.), vagyis az InputMethodService szépen végigutazott az egész soron, és az összes "Text" példány tárolta a hivatkozást, hogy tudjon kommunikálni.
A változáson pedig azért kezdtem el gondolkodni, mert szerettem volna az egész adatstruktúra legenerálását leválasztani a Service-ről. Emiatt viszont az InputMethodService nem áll rendelkezésre akkor, amikor az adatstruktúra elkészül.
Több lehetőséget találtam:
Amikor a kész adatstruktúrát a Service-hez kapcsolom, végigmegyek az összes elemen és megadom az InputMethodService-t.
Vagy egyedül a GeneralKeyBoardData (az adatstruktúra legalsó eleme) kapja meg, és a Text ettől kérdezi le.
Vagy valahogy kiszedem az InputMethodService hivatkozását magából az InputMethodService-ből, amiből egyébként egyetlen van, és addig folyamatosan él, amíg nem váltok másik billentyűzetre (ilyenkor viszont az adatstruktúra sem létezik tovább.)Amúgy eddig az "erőltetett objektumokkal" szépen működik, de azt gondoltam, kell legyen ennek egyszerűbb módja is. Csak éppen még nem jöttem rá, mi az, ezért kértem segítséget az utolsó elgondoláshoz.
((A fentiektől függetlenül filozófiailag "sok hülye meg erőlteti itt az objektumokat" kijelentésnek igen komoly háttere van. Nagyon sok, nálamnál sokkal komolyabb programozó vitatja az objektum-orientált programozás előnyeit szemben a hagyományos, lineáris programozással. Mielőtt mindenki nekem ugrana és szétszedne, nem állást foglaltam mellettük, csak tényként megemlítettem ezt az iskolát is. Én ugyan nem tudom megítélni, de valószínűleg amúgy a java egy objektum-orientált android környezetben nem is alkalmas erre.))
Új hozzászólás Aktív témák
- Gitáros topic
- Hosszú premier előzetest kapott az Arknights: Endfield
- Bittorrent topik
- 5.1, 7.1 és gamer fejhallgatók
- Amlogic S905, S912 processzoros készülékek
- Házimozi haladó szinten
- Kávé kezdőknek - amatőr koffeinisták anonim klubja
- Hardcore café
- A fociról könnyedén, egy baráti társaságban
- Star Trek
- További aktív témák...
- Új 2k Gamer PC Ryzen 5 5600/RX 6700 XT 12Gb/32Gb DDR4/500Gb - 1Tb SSD/2-4 Év gari
- Új 2k Gamer PC Ryzen 7 5700/RX 6700 XT 12Gb/32Gb DDR4/500Gb - 1Tb SSD/750-850W 2-4 Év gari
- Ryzen5 3700x 8core / GTX 1660 Super / SSD 500gb / HHD 2tb
- iPhone 13 mini 128GB silverlight független
- 15.gen! Intel Core ULTRA 9 285K (24mag!) +hűtött VRM-es Z890 lap! GAR/SZÁMLA (Te nevedre kiállítva)!
- HIBÁTLAN iPhone 16 128GB Black-1 ÉV GARANCIA - Kártyafüggetlen, MS4423, 100% Akksi
- GYÖNYÖRŰ iPhone 13 128GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS4495, 100% Akkumulátor
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- Kingston SNV3S 1 TB NVMe SSD VADIÚJ, 3 év NÉVRE SZÓLÓ GARANCIA!
- Újszerű Dell Latitude 7400 14" FHD IPS, i5 8365U, 16GB RAM, SSD, jó akku, számla, 6 hó gar
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


