- 5.1, 7.1 és gamer fejhallgatók
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Színes hardvercsomag a téli szürkeségben
- AMD Navi Radeon™ RX 9xxx sorozat
- EPS 12V 180 fokos átalakító
- OLED monitor topic
- Gaming notebook topik
- Audiofil és gamer? Az ASUS megpróbálja
- Hogy milyen lett az ASUS ProArt széria csúcsnotesze? Hát ilyen!
- Nem akármilyen új GeForce jöhet idén
Ú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
- 5.1, 7.1 és gamer fejhallgatók
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Napelem
- Milyen okostelefont vegyek?
- Eredeti játékok OFF topik
- Szívós, szép és kitartó az új OnePlus óra
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Samsung Galaxy S25 - végre van kicsi!
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Nintendo Switch 2
- További aktív témák...
- Gigabyte B560M DS3H V2 alaplap, i5-10400 CPU, 256 GB M.2 SSD, Windows 11
- Újszerű MSI RAIDER GE66 12UH 15.6QHD IPS 240Hz i7-12700H 32GB DDR5 RAM 1TB NVME SSD RTX 3080 175w
- Apple Ipad Pro 11 M2 2022 Space Gray 128gb Wifi+Cellular 1 év garancia
- ASUS ROG STRIX G15 Gaming Laptop - Ryzen 7, 16 GB RAM, RTX 3050 Ti, 512 GB SSD
- Kenwood KR A4010
- HIBÁTLAN iPhone 14 Pro Max 512GB Silver -1 ÉV GARANCIA - Kártyafüggetlen
- ÁRGARANCIA!Épített KomPhone i5 10400F 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Lenovo ThinkPad X1 Yoga G6 (6th Gen) - i7-1185G7, 32GB, 512GB SSD, multitouch + TOLL
- iPhone 13 Pro 128GB 100% (1év Garancia)
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: Laptopműhely Bt.
Város: Budapest


