- Színészek hangjait lopta el egy AI-cég
- Linux kezdőknek
- Ubiquiti hálózati eszközök
- Linux - haladóknak
- Már nem hisz a nagy európai EV-forradalomban a Ford
- Android programozás, Android alkalmazások készítése
- Aliexpress tapasztalatok
- Xiaomi AX3600 WiFi 6 AIoT Router
- Sikeres volt a teszt, elpusztítja internetes műholdjait az Amazon
- Vodafone otthoni szolgáltatások (TV, internet, telefon)
Új hozzászólás Aktív témák
-
bandi0000
nagyúr
válasz szebenyid #4900 üzenetére
Ez rajtad áll, a példában, ahol létrehozza az emlékeztetőt, azt kidobot egy függvénybe, és onnantól kezdve annyit mentessz el belőle ahányat akarsz
Maga a beállítás ennyi:
A requestCode-nak egy egydi azonosítónak kell lennie, én pl Id-t adtam át, azért adtam hozzá még 1000-et, hogy biztos ne legyen azonos, bár már nem emlékszek pontosan rá
Mindenesetre ha törölni vagy módosítani akarod a már elmentettet, akkor kell az az azonosítóEz csak a beállításé, nyilván kell még létrehozni egy osztályt ami örököl a BroadcastReceiver-től, itt lehet "megmondani" hogy milyen értesítés legyen, feldobjon e egy felületet stb stb
Tehát át kell nézned a linkelt tutorialt, az alapján ha létre tudsz hozni egyet, akkor gyakorlatilag már többet is
Intent intent = new Intent(context, AlarmReceiver.class);
intent.putExtra("requestCode", requestCode); // kulcs-érték pár, így tudsz átadni neki értéket
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context,safeLongToInt(requestCode)+1000,intent,0);
alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),pendingIntent);Xbox One: bandymnc
-
félisten
Sziasztok!
Multiplayer labdajáték fejlesztését tervezgetem, ami eléggé kényes arra, hogy minden szinkronban történjen.
A jelenlegi legfontosabb kérdés, hogy milyen módszerek vannak a késleltetés leküzdésére, és mi az, ami megvalósítható jelenleg.
Erről van valakinek tapasztalata esetleg tudtok megbízható cikkeket?Kössz!
Eladó régi hardverek: https://hardverapro.hu/apro/sok_regi_kutyu/friss.html
-
Zsolt_974
tag
Sziasztok!
Nem kimondottan alkalmazással kapcsolatos a kérdés. Adott egy androidos eszköz(TV box) ezt távirányítóval lehet kezelni. Szeretnék illeszteni rá egy külső kapacitív touch screen monitort. Sajnos nem teljesen működik megfelelően. A jelenség távirányítóval a megfelelő ikonra navigálok akkor a touch screennel megtudom nyitni, viszont nem tudok vele pozíciót változtatni.
Remélem jó irányban gondolkozom, hogy a touch screen nincs megfelelően konfigurálva gondolok itt arra, hogy mutató eszköz(gombok, kapcsolók) van beállítva és nem multitouch. Esetleg merre keressem a megoldást, ha van egyáltalán. Nézegettem a "build.prop"fáljt, de nem jutottam sokkal előrébb.
Válaszotokat és segítségeteket előre is köszönöm. -
HI-FI
tag
Üdv! Van itt esetleg olyan aki egyszerű androidos projekt fejlesztését elvállalja?
-
hodav1993
csendes tag
[KEZDŐ] [START]
Sziasztok!
A segítségetekre lenne szükségem. Felületesen már barátkozom egy ideje az Androidos alkalmazásfejlesztés világával. Végső elhatározásra jutottam, hogy szeretném elsajátítani a nyelvet és elindulnék a fejlődés rögös útján, viszont nem tudom hol induljak el.
Milyen alapokra van szükségem?
Hol álljak neki a tanulásnak? Weboldal, könyv, udemy tanfolyam, videósorozat, egyéb.
Tudnátok jó oktató anyagokat ajánlani?Segítségeteket előre is köszönöm!
Dávid
-
thiclyoon
aktív tag
válasz hodav1993 #4906 üzenetére
Szia!
(Amit írok az natív fejlesztésre vonatkozik: android studio, java/kotlin. Ha crossplatform-egyéb megoldásban gondolkodsz (xamarin, react, c#, ...), akkor érdemesebb lehet más tapasztalatát elolvasni.)
Én személy szerint csak oop + "event driven programming", vagyis Java tapasztalat után tudtam megtanulni az androidot, bár régebben nem használtam az udemy-t, lehet, hogy ezzel már menne tapasztalat nelkül is. Tehát udemy-n tanultam meg végül, ezt a kurzust választva. Nem bántam meg, szerintem nagyon jól elmagyarázzák, de hátha mástól is jön 1-2 tipp. Ahogy írtam, nekem volt a kurzus előtt is tapasztalatom több nyelvben is, de a leírás alapján erre nincs szükség. (Mindenesetre ha a "Java Deep Dive" fejezet után se érzed magadat magabiztosnak a java körül, akkor érdemes lehet egy programozós videosorozatot / egyebet keresni.)
Jelenleg egyre inkább nyomatják a Kotlin nyelvet is a Java mellett/helyett - én azonban most is Java-val kezdenék, és utána ismerkednék meg a Kotlinnal (egymást ki tudják egészíteni, nem idegen nyelvek). Eléggé kihalt topiknak tűnik, de ha kérdésed van, igyekszem segíteni -
hodav1993
csendes tag
válasz thiclyoon #4907 üzenetére
Szia!
Köszönöm válaszod! Én is elkezdtem az általad javasolt Udemy kurzust, nagyon jól lehet vele haladni és érthető is. Egyelőre erősen barátkozom a témával, minden nap 1-2 órát foglalkozom vele aktívan, igyekszem bővíteni napi 2-3 órára legalább a tanulási időszakot.
JAVA-t is elkezdtem vele együtt (meg persze a kurzus fele java) megtanulni. Későbbiekben gondolkodom a crossplatformra való fejlesztésen is, de egyelőre attól még messze vagyok. Esetleg ha tudnál további irányt mutatni, hogy pár év alatt hogyan juthatok el oda, hogy Androidra és iOs-ra is tudjak fejleszteni, azért nagyon hálás lennék!
Lehetséges, hogy privát üzenetben kereslék még a kérdéseimmel! Szóval előre is nagyon szépen köszönöm a segítséged, nagyon hasznos!
Dávid
-
thiclyoon
aktív tag
válasz hodav1993 #4908 üzenetére
Crossplatformban annyira nem vagyok otthon*, annyit tudok, hogy pl Xamarinban lehet csinálni ilyet (C# nyelv, Visual Studio környezet) - ezt én réges régen elkezdtem, de nagyon nem jött be. Azóta jött pár új dolog, a React az JavaScript-tel tudja ugyanezt, számomra a legújabb versenyző pedig a Flutter - ez Dart-tal megy, mindössze ennyit tudok róla.
Játékokhoz ajánlottnak mondanám a Unity-t és az Unreal-t, mindkettő crossplatform. Előbbit kicsit egyszerűbbnek mondják.
Talán ez átment, de egyelőre nem vagyok a crossplatform híve - inkább a natív appfejlesztés jött be eddig. Ha natívban gondolkozol, akkor azt tudnod kell, hogy iOS appok fejlesztéséhez kell egy mac (bármilyen), esetleg hackintosh. Crossplatform appokkal (amiket feljebb írtam), ez kikerülhető, ez a legnagyobb előnyük (számomra). Ezzel együtt tervezek "crossplatformul" megtanulni, Xamarin + Unity mindenképp
Ha van kérdésed jöhet ide is vagy privátba, ahogy könnyebb
* (Androidra Windows / Mac + Android Studio + Java-t, iOS-re Mac + XCode + Swift-et használok legszívesebben)
-
Tityahome
aktív tag
Sziasztok!
Remélem jó helyre írok a problémámmal, de ha nem majd jelezzétek.Lenne egy olyan kérdésem, hogy használ e valaki közületek android os-t, pc-n?
Ha igen és az illető ért is a programozáshoz, akkor meg tudná nekem mondani, hogy sikeres prime os telepítés után a bootnál miért lesz sötét a képernyő?
A következő a jelenség:
-telepítés sikeres
-boot elindul
-képernyő sötét, de a képernyővilágítás működik és ráadásul a háttérben a prime os is, mert látszik, hogy a power gombra elhalványul a háttérvilágítás, majd space és vissza kapcsol.Az az igazság, hogy tele van a net hasonló problémákkal viszont én nem nagyon értek hozzá így nem is nagyon találom a megoldást.
Az biztos, hogy ha "nomodeset" parancsal bootolok akkor szépen be tölt képpel együtt az OS.Remélem valaki találkozott már hasonló problémával és meg is tudta oldani!
-
togvau
senior tag
Az android studio emulátorához ezt a haxm nevű kötelező izét hogy lehet telepíteni, hogy ne errorozzon telepítésnél?
Amúgy is amd processzorom van, nem tudom minek ide az intel hulladéka.hitler, sztálin, micro usb
-
-
togvau
senior tag
válasz Rickeffe #4916 üzenetére
ja, van csak ahhoz SSSSSSSSE3 kell, a sima SSE3 nem elég. Mellesleg a hypervisor bekapcsolásától a sleep működése megszűnik a gépemen (sleepelés után felébresztve fekete kép, se hang, reset van csak), anélkül megy.
Ezek az indiaiak mindig új f...ságot mutatnak nekem... elengedtem az android fejlesztéssel ismerkedést. Ezért nem veszek intelt, főleg nem manapság a ryzen helyett...[ Szerkesztve ]
hitler, sztálin, micro usb
-
vlevi
nagyúr
Nnna, valahogy kiszenvedtem, hogy ne legyen szükség HAXM-re.
Sajnos nem írtam fel a lépéseket, de olyasmi, hogy az Android SDK managerben telepítve kell lennie az AMD Hypervisor drivernek. Ez gondolom megvan.
Ezután kézzel telepíteni kell, függetlenül attól, hogy installed-nek mutatja.
Ez úgy történik, hogy a C:\Android\sdk\extras\google\Android_Emulator_Hypervisor_Driver könyvtárban elindítod a silent_install-bat-ot. Én kétszer indítottam el, akkor sikerült.
Azóta nem kötözködik a HAXM miatt. -
togvau
senior tag
akartam tenni még egy próbát, most az exés studiot választottam. Ez telepítés után android SDK-t kér, amire ugyan azt az oldalt linkeli, ahonnan a studiot letöltöttem, és ahol nincs sdk. ráguglizva ugyan arra visz... baj lesz ebből, ha az indiaiak egyre nagyobb teret nyernek.
hitler, sztálin, micro usb
-
Ablakos
őstag
Mit kell beállítani, hogy a welcome képernyőn kiválasztható legyen github VC (publikus repo)?
-
thiclyoon
aktív tag
válasz Ablakos #4922 üzenetére
Nálam a legfrissebb stable verzió van fent (3.6.1, bár emlékeim szerint így működött régebben is), a kezdőképernyőn "Check out project from Version Control" alatt van "git" menüpont, ott ha megadok egy url-t, már csinálja is a dolgát. Amúgy igen, az android studio a default. Ha nem erre gondoltál, akkor nem igazán értem, részletezd kicsit kérlek.
-
Ablakos
őstag
Igen, a fejlesztő környezetre gondoltam. Studió elég szépen alakult az évek alatt.
Feltettem egy git-et a windowsra és így valóban lehozza a repot. (welcome screen git alatt)
-
bandi0000
nagyúr
Valakinek van tapasztalata a Firebase-el, hogy hogyan megy a fizetés? Azt tudom, hogy X gb adatig, és adatforgalomig ingyenes, de ha túllépne akkor rögtön küldik a számlát, vagy tiltják az adott hónapra, vagy mi a menete?
Xbox One: bandymnc
-
thiclyoon
aktív tag
válasz bandi0000 #4926 üzenetére
(Nem biztos, hogy segít, de hátha..)
Én nem olyan régen kezdtem el használni a free tier-en túl az egyik projektben, egész pontosan március az első hónap, ami végig blaze plan-ben fut (február közepén váltottunk fizetősre, februárban még nem értük el a fizetős határt, így március elején nem kellett semmit fizetni). Szerintem amint úgy gondolod, hogy kellene egy fizetős funkció, akkor érdemes upgrade-elni blaze plan-re, ugyanis bár már ekkor meg kell adni egy kártyaszámot, de nem von le semmit. Mi jelenleg a beállított budget alatt vagyunk, de eddig nem jött semmilyen levonás / számla. Ennél többet április elején tudok mondani, de ha belegondolsz, mivel a funkciók úgy vannak megadva, hogy "x $ / second", így nekem ebből az jön le, hogy minden hónap elején jön majd valami, hogy ennyit és ennyit fogyasztottál, ezért ennyit és ennyit levonunk. De ha valakinek több tapasztalata van, ossza meg hogy okosodjunk[ Szerkesztve ]
-
bandi0000
nagyúr
válasz thiclyoon #4927 üzenetére
Igazàból egyenlőre nem akarok bővíteni, az se biztos, hogy használni fogjàk, csak azt nem akarom, hogyha mégis nagy lesz a kereslet, akkor a tudtomon kívül kiállítanak egy vaskos számlàt :D
Más:
Tudom, hogy NoSql a firestorm is, de mi a legelegánsabb módja annak, hogyha pl lennének felhasználók, és azok pl vàlaszthatnak termékekből, nyilvàn hagyományos tàblàkban gondolkozva több a többhöz kapcsolat lenne köztük nyilván ez 3 táblát jelentene, ezt meg lehetne oldani benne?
Xbox One: bandymnc
-
thiclyoon
aktív tag
válasz bandi0000 #4928 üzenetére
A kártya beállítása után kért egy budget-et tőlem, és ha annak elérem az 50-90-100%-át, akkor minden project owner-nek küld email-t (ezt még nem sikerült kipróbálni, nem vagyok még 50%-nál sem). Ezek alapján ha gáz van, akkor egy gyors leállítás - megjavítás jó lehet ilyen helyzetben, főleg a fejlesztés során nyilván.
Firestore-ban collection-ök vannak (bár igaz, ezek ~ táblák). Az adatbázis - backend rész annyira nem az én műfajom, de igen, természetesen ez is megoldható benne (és ez a jó megoldás szerintem is). A "kapcsolótábla" tartalma (helyessége) viszont tőled függ, ha te rossz id-t írsz bele az userid "oszlopba" az egyik rendelésnél, akkor nem fog szólni neked senki... legalábbis én nem tudok róla, hogy itt lehetne ilyen kényszereket létrehozni.
Alapvetően szerintem nyugodtan gondolhatsz a firestore-ra úgy, mint egy sql adatbázis, max az ilyen dolgokat, mint a kényszerek, neked kell implementálnod (-> firebase functions részben ezt elég jól el tudod intézni). Ez sem egy vészes dolog, sima nodejs-ben megy az egész.
-
domel
tag
Helló!
Kaptam egy levelet a Play Console-tól, hogy egy régóta fent lévő programom megsértette az adatvédelmi irányelveket, egészen pontosan "a gyermekeket vonzó elemeket tartalmazó alkalmazásoknak meg kell felelniük a családokra vonatkozó összes követelménynek".
??? Huhh... Még a kérdést felfogni is nehéz, mert a program azt tudja, hogy gps-ről megnézi hogy melyik buszmegállóban állok, és írja, hogy oda mikor jön busz.
1. kérdés: tudtok valami sablon szöveget erre, vagy egyáltalán minek kell megfelelnem? Ígérgetni, hogy nincs káromkodás, nincs felnőtteknek való rajzok, nem ölök meg senkit a programban, stb??
2. csak magyar nyelv van beállítva, akkor írhatom ezt a "családpolitikai irányelvet" magyarul is? Ki olvassa el? Magyar?
Igazából fontos lenne a 14 év felettiek elérése, mert leginkább ők buszoznak..
Jöhetne pár tipp, nagyon megköszönném!
Üdv: Domel -
Ablakos
őstag
Fut az activity-n egy timer, amely TimerTask osztályt hívogat. (az osztály egy view-ba ír) OnCreate methodusban vannak. Ha elforgatom az eszközt szeretném, hogy tovább számoljon.
Mi ennek a logikai megoldása?[ Szerkesztve ]
-
thiclyoon
aktív tag
válasz Ablakos #4932 üzenetére
Az implementáció ismerete nélkül én az
onSaveInstanceState()
és azonRestoreInstanceState()
függvényeket definiálnám felül. Vannak részletek, amire érdemes figyelni, pl. hogy az előbbi függvény nem biztos, hogy minden esetben lefut, pl. back gombra nem fog futni, hiszen az user explicit vissza akart lépni. Ekkor vagy azonPause()
vagy azonBackPressed()
függvénnyel érdemes foglalkozni. Alap funkcionalitásért viszont elég az első kettő függvényben megcsinálni a dolgokat[ Szerkesztve ]
-
domel
tag
válasz Ablakos #4932 üzenetére
Nem tudom ennek gányolás nélkül mi a hivatalos módja
public class MainActivity extends AppCompatActivity {
Handler handler= new Handler();
int mCount;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
handler.post(ru);
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
mCount = savedInstanceState.getInt("count");
}
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
savedInstanceState.putInt("count", mCount);
super.onSaveInstanceState(savedInstanceState);
}
@Override
protected void onDestroy() {
handler.removeCallbacks(ru);
super.onDestroy();
}
Runnable ru= new Runnable() {
@Override
public void run() {
Log.i("TTAG","--:"+mCount);
mCount++;
handler.postDelayed(this,1000);
}
};
} -
Ablakos
őstag
Köszönöm, én is a batyus eltesz-elővesz megoldást találtam, csak túl kombináltam. A timer referenciát akartam megmenteni a forgatás miatt, nem amit előállít (textView értéket). De nagyon jó, hogy felhívtátok a figyelmet a onRestoreInstanceState -re is.
Még egy kérdésem van: onSaveInstanceState -ben van jelentősége, hogy előszőr vagy a legvégén hívom meg az ősosztályt?
-
dunc
nagyúr
Sziasztok nekem van egy nem rootolt Lenovo tabletem , egy parancssort kéne hozzá adnom abd be, magán a tableten meg tudom ezt oldani illetve milyen abd kell hozzà?
-
thiclyoon
aktív tag
válasz Ablakos #4935 üzenetére
Illik az elején, de ennél a függvénynél elméletileg még az sem okoz problémát, ha egyáltalán nem hívod meg. A default implementáció csak a view-k többségének adatát menti el.
(#4936) dunc: az adb az sdk része, ami felmegy a nagyobb rendszerekre. Így én ennyiből sajnos nem igazán értem, mit szeretnél (és hogy miért, mi lenne a cél).
-
domel
tag
Helló!
Csináltam egy androidos mappa törlő programot windows alá, ezeket törli:
\app\build
\.gradle
\.idea
\build
archiváláshoz jól jön, ahhoz felesleges 50-60 megákat tárolni, mikor elég a tizede is.
Ha valakinek pont erre van szüksége az töltse, ez egy exe amit a project könyvtárakhoz (nem bele, hanem mellé) másold.
www.domel.hu/Androidbetorlo.zip
Üdv: Domel -
Ablakos
őstag
View binding is available in Android Studio 3.6 Canary 11+.
Nem nagyon értem ezeket a verziókat.
Most a 3.6.2 stabilban is benne van ez a feature? A stabil most utolérte a Canary-t ? Ugyanaz a verziójuk. -
thiclyoon
aktív tag
válasz Ablakos #4940 üzenetére
Most frissítettem 3.6.2-re:
Support for Jetpack View Binding, a compile-time safe replacement for 'findViewById()'
Illetve a frissítés utáni What's new?-ban is reklámozzák. Amúgy van létjogosultsága? ButterKnife eddig is nagyon szépen tudott ilyeneket, de Kotlin óta még arra sincs szükség.Canary-ból pedig én 4.1-re tudnék frissíteni, tehát a stable és a canary nem ugyanott tart szerintem.
[ Szerkesztve ]
-
bandi0000
nagyúr
Eléggé új vagyok a kotlányban, eddig java-ban írtam az appkat, ott is emlékszek, hgoy figyelmeztetett mindig, mikor hívtam egy getContext-et, hogy nézzem meg null e, de itt a kotlinba már hibát is dob rá
Mi erre a jó megoldás? Pl van egy osztályom aminek kell a context, és vagy telerakom null vizsgálatos operátorral "?" az osztályt, vagy simán ahol hívom megnézem, hogy null e, de egyáltalán előfodulhat olyan, hogy nem elsz context?
Xbox One: bandymnc
-
thiclyoon
aktív tag
válasz bandi0000 #4942 üzenetére
Activity-ben ?. operátor nélkül is működik, fragment-ben szükséges a ?. operátor. Alapesetben nem lehet null, de ha pl. átmegyünk valamilyen Settings, vagy Helper osztályba, akkor egy rossz architektúra / tervezés után simán jöhetnek a null pointer hibák ilyen esetben.
Jó megoldás? Nem igazán van, illetve én nem tudok róla Nemrég láttam egy meme-t, ahol az volt a poén fő eleme, hogy mégis mi a fenének kell akár egy Toast-hoz context. Teljesen felesleges, ez az Android dizájn hibája, egyszerűen csak azt akarjuk, hogy jelenjen meg az aktuális képernyőn. Ha mégis szükséges egy context, vagy hasonló komponens (resource, activity, vagy akár teljesen más is, asynctask, stb.), akkor ezt javaslom, ez működni fog: [link] (kiegészíthető get/set-tel, egyéb dolgokkal, stb). Widget-nél tud ez is probléma lenni, de akkor kell a jó tervezés - vagy egy kis szenvedés a widget-nél -
bandi0000
nagyúr
válasz thiclyoon #4943 üzenetére
köszi
Még1 kérdés, nem tudom mennyire ismered/ismeritek a legújabb verziót(nem tudom régebbiben is így volt e), ahol ha a projektet eleve bottom navigation-nel hozom létre, akkor az activity-ben már meg van csinálva az alsó 3 menü definiálása, nyilván itt nem a fragmentManagert használja, hanem valami mást, tök szimpatikus a megoldás, viszont nem tudtam így simán megnyitni egy fragmentet ami ugye nincs a menüben, legalábbis egy container-t hiányol
Ezt az egész hóbelebancot lecseréltem a régi jólmegszokott menü navigálásra, amikor van egy container layout, és a fragmentManager segítségével dobálom bele a fragmenteket, és így már megtudok nyitni egy újabb fragmentet ha akarok, ilyen célra ez lehet a megoldás, vagy a gyárit is lehetne használni valahogy?
Xbox One: bandymnc
-
thiclyoon
aktív tag
válasz bandi0000 #4944 üzenetére
Pont nemrég kellett használnom Bottom Navigation-t, és én is másképp emlékeztem rá
Szerintem megéri ezt az új megközelítést használni. Nekem különösen a navigation res mappa tartalma tetszik, hasonlít az iOS-hezHa jól értem, az a kérdés, hogy hogyan adjunk hozzá még egy fragment-et a bottom navbar-hoz:
0. Activity létrehozása
1. res/menu/bottom_nav_menu-ben az elemek módosítása (adjunk hozzá egy navigation_blank id-jű item-et)
2. res/navigation/mobile_navigation-ben a felső sorban "new destination" (create new, BlankFragment)
3. MainActivity-ben az AppBarConfiguration-hoz adjuk hozzá 4. elemnek az R.id.navigation_blank-et
4. res/navigation/mobile_navigation-ben a létrehozott destination id-ja legyen navigation_blank
5. futtatás után ott az elvárt kimenet -
bandi0000
nagyúr
válasz thiclyoon #4945 üzenetére
Akkor jó, nem teljesen hülyültem meg
Amit pedig szeretnék csinálni az az, hogy van egy beállítások menüpontom, ebből akarok nyitni egy fragmentet, ahol a felhasználó a saját adatait szerkesztheti, de értelemszerűen ez a szerkesztési lehetőség nem tartozik a rendes menü listához, csak úgy " lóg a levegőben"
Régen ezt úgy csináltam meg, hogy a a menüre kattintás eseményre mindig lecseréltem a container layout-ba a tartalmat az éppen kiválasztott fragmentre, és ahol kellett ott simán a fragmentmanager segítségével nyitottam meg a fragmentből a fragmentet
De ez ugye itt nem akaródzik működni, null pointer kapok, mert nem található a container, ami ugye nincs is a base projektben
Dialoggal meg lehetne oldani egyszerűbben, de ehhez sztem jobban illik egy teljes fragment
[ Szerkesztve ]
Xbox One: bandymnc
-
thiclyoon
aktív tag
válasz bandi0000 #4946 üzenetére
Ahogy mondani szokták, a jelenlegi megoldás szuboptimális, de működik. Biztos van szebb, egyszerűbb megoldása is Ezekkel a kódokkal a home-ban a text-re kattinva lecseréli a notification fragment-re, majd a dashboard-ra nyomva kicseréli a dashboard-ra (ahogy várnánk). A többi feladat megoldását (pl. home-ra visszanyomásra mi történjen) az olvasóra bízom
MainActivity.kt-ba
interface MyListener {
fun clicked()
fun declicked()
}
class MainActivity : AppCompatActivity(), MyListener {
...
override fun clicked() {
val transaction: FragmentTransaction = supportFragmentManager.beginTransaction()
transaction.replace(R.id.nav_host_fragment, NotificationsFragment())
transaction.commit()
}
override fun declicked() {
val transaction: FragmentTransaction = supportFragmentManager.beginTransaction()
transaction.replace(R.id.nav_host_fragment, DashboardFragment())
transaction.commit()
}
}HomeFragment-be:
override fun onCreateView(...): View? {
...
textView.setOnClickListener {
(activity as MyListener).clicked()
}
...
}DashboardFragment-be:
override fun onCreateView(...): View? {
...
textView.setOnClickListener {
(activity as MyListener).declicked()
}
...
}És hogy lásd a változást, res/layout/fragment_notification-be:
<androidx.constraintlayout.widget.ConstraintLayout
...
android:background="#CA1414"
tools:context=".ui.notifications.NotificationsFragment">Illetve a res/layout/fragment_dashboard-ba:
<androidx.constraintlayout.widget.ConstraintLayout
...
android:background="#066EFF"
tools:context=".ui.dashboard.DashboardFragment">[ Szerkesztve ]
-
bandi0000
nagyúr
válasz thiclyoon #4947 üzenetére
köszönöm, pont így csináltam csak egyrészt benéztem, mert üresek a fragmentek így nem volt látványos a változás, szóval mindig cserélte, viszont az előző fragment, amiből nyitottam is látszik, meg az új is átlapoltan
na de túrom egy kicsit a stackoverflow-t hátha van valami ötlet
Xbox One: bandymnc
Új hozzászólás Aktív témák
- Kerékpárosok, bringások ide!
- ThinkPad (NEM IdeaPad)
- Milyen billentyűzetet vegyek?
- Samsung Galaxy S23 Ultra - non plus ultra
- Milyen TV-t vegyek?
- Luck Dragon: Asszociációs játék. :)
- Vicces képek
- LCD, plazma és projektoros TV-k hibái
- Milyen légkondit a lakásba?
- bambano: Bambanő háza tája
- További aktív témák...
- MSI MAG274QRF-QD QLED Gamer Monitor!27"/2k/165hz/1ms/Freesync-Gsync/Type C/Konzolhoz is/Beszámítás!
- Sennheiser Epos H3 White Gamer Fejhallgató Eladó!
- Hisense 50A6BG 4k Smart TV!50"/4k/DOLBY VISION/10bit/Game Mode/ALLM/Beszámítás!
- Dell S2421HN Full HD Led Monitor! 24"/1920x1080/IPS/75hz/Freesync/Fehér
- Dell S2721DS 2k Monitor!27"/IPS/2560x1440/75hz/Freesync-Gsync/Fehér/Beszámítás
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest