- Tombol az AI-láz: az NVIDIA már értékesebb, mint az Apple
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Mozilla Firefox
- Felhő alapú adattárolás (Dropbox, stb.)
- Windows 11
- Proxmox VE
- SkyShowtime
- Tarr Kft. kábeltv, internet, telefon
- Linux - haladóknak
- Perelnek a vallásos kripto-piramisjáték miatt
Új hozzászólás Aktív témák
-
Karma
félisten
válasz XperiaP #1798 üzenetére
Végülis ja, ez inkább valami megjelenítési dolognak tűnik, ahogy megfagy... Van valami TextWatcher ezen az EditTexten? A mérete, különösen a szélessége fix?
WonderCsabo: Használtad már a GridLayoutot? Nekem elég rossz tapasztalataim vannak vele élesben, pedig nagyon kéne egy ilyen jellegű layout...
[ Szerkesztve ]
“All nothings are not equal.”
-
bAtt001
addikt
válasz WonderCSabo #1800 üzenetére
akkor csak layoutos megoldás van erre, nincs kifejezetten olyan h table mint a textview vagy hasonló igaz? tablelayouttal próbálkoztam de konzulensem azt mondta az nem az igazi erre a célra hát mi lehet jobb táblázathoz mint a táblázatlayout
-
bAtt001
addikt
-
thon73
tag
Néhány globális változót egy "retained fragment"-be helyeztem. Létezik olyan pont, amikortól a többi fragment (természetesen az activity-n keresztül) elérheti ezeket a változókat?
Uis. a változók csak az activity onResumeFragments részére térnek vissza (itt tudom újra megtalálni a megtartott fragmentjüket). Ugyanakkor eddigre az összes többi, nem megtartott Fragment is feláll, és az Fragmentek onResume része is lefut.
Van még valamilyen pont az onResume UTÁN, ahol MÁR tudnék kommunikálni a többi fragmenttel (konkrétan a megtartottal), de MÉG nem indult el a Fragment a felhasználó szempontjából?
Előre is köszönöm!
((Átmenetileg úgy oldottam meg, hogy az Activty "értesíti" a Fragmenteket, hogy a változók rendelkezésre állnak. De nem hiszem el, hogy ez lenne a real android way...)) -
bAtt001
addikt
válasz WonderCSabo #1805 üzenetére
végük csak tablelayout maradt hogy az jó, valahogy elbeszéltünk egymás mellett emailben vagy nemtom
-
thon73
tag
Egyszerűsítem a kérdést:
Hová tegyem azokat az (akár nagyméretű) globális adatokat, amiket több fragmentből el akarok érni, de szeretném megtartani őket a konfigurációs változások alatt is?
((Egy ötletem van: Application szintre. Megpróbáltam a retained fragmentet, de sehogyse megy.)) -
thon73
tag
válasz WonderCSabo #1810 üzenetére
Miért ajánlgatja a doksi a retained Fragmentet, ha ilyen nehéz megoldani az elérését másik Fragmentből!?
A static field-es osztályt hogyan mentem meg biztonságosan? Átviszem az onSaveInstanceState-ben?
Menteni nem akartam, akár nagy is lehet a mérete. Ezek csak olyan "melléktermék" adatok, amik megkönnyítik, hogy nem kell mindent újraszámolni, ha egy másik Fragment nyílik meg, vagy ha újraindul az Activity. De a static field szimpatikus. Az végső soron az Activity-hez kapcsolható, semmi dolga a Fragmentekkel. Így csak az Activity-ig kell "visszanyúlnom" az adatokért.
-
thon73
tag
válasz WonderCSabo #1812 üzenetére
Az, hogy lényeges különbség van a retained Fragment ELSŐ LÉTREHOZÁSA, és az összes többi VISSZAÁLLÍTÁS között.
Vagyis:
A Fragmentet először az Activity.onResumeFragments részben fogom megtalálni. Ha nincs meg, akkor itt kell először is létrehozni.
Ha nem volt meg, akkor a létrehozás után még semmilyen élitciklus nem fut le (majd csak az onResumeFragments UTÁN)
Ha viszont megvolt, akkor eddigre minden lefutott, beleértve a Fragment.onResume metódusát is.A konkrét próbálkozásban egy ListFragmentet készítettem, amelyik az adatait ebből a megőrzött globális adatállományból veszi (a végső megoldás mindig egy kicsit összetettebb persze). Ez azt jelenti, hogy valahol meg kell mondjam az adapternek, hogy hol vannak az adatai.
Az első létrehozáskor (persze ilyenkor az adatállomány még üres, de majdan ide fog bekerülni) nem lesz gond, hiszen mire a ListFragment életciklus részei lefutotnak, ott van az Activityből elérhető módon a másik, adatokat tartalmazó Fragment.
Minden további indításkor azonban mindkét Fragment végigfut az onResume-ig, mielőtt én egyáltalán látnám az adatokat tartalmazó Fragmentet az Activity.onResumeFragments részében! Vagyis nekem kellene kiadni egy pl. MyListFragment.onVariableReady() utasítást, ami betölti az adapterbe az immáron elérhető adatokat.
Ez a megoldás viszont az első indításkor nem lesz jó, hiszen még adapter sincs sehol!
Hozzáteszem: ez a ListFragment dolog valójában csak egy próba. Nekem egy sok részletből álló rajzot kellene elkészítenem, aminek az egyes részeit tudom egy-egy Fragmenttel megalkotni. Az alapadatokat természetesen mentem, de minden apró számítást nem akartam. Ettől a speciális problémától elvonatkoztatva a kérdés általános érvényű: hová tegyem a Fragment megőrzendő adatait, ha magát a konkrét Fragmentet nem akarom megőrizni ((mert pl. változik a gép fordításával))?
A static field egyébként jó ötlet, csak úgy emlékszem, valamiért (újra el kellene olvasni) kerülendőnek javasolta a hivatalos doksi. De ezt elő kéne ásni, lehet, hogy rosszul emlékszem...
((Bocs, ha kicsit bonyolult, már játszom vele egy ideje. Szívesen küldök kódot, de a sallangok, és próbálkozások miatt előbb ki kellene fésülnöm. Bár kivételesen a szöveg talán többet mond.))
[ Szerkesztve ]
-
WonderCSabo
félisten
Nem akarok kikerülő választ adni, de sztem egy bonyolult rajz Fragmentekből való összeállítása egyáltalán nem jó ötlet. A Fragmenteket nem erre találták ki.
A konkrét kérdésedet most hirtelen nem látom át, az onResumeFragments metódust nem használtam sosem, sőt bevallom derekasan picit az egész configuration change kiesett a gyakorlatból, mert a mostani hosszú prokejtemben az egész app álló képes...
-
thon73
tag
válasz WonderCSabo #1814 üzenetére
Nem is rajzolnak a fragmentek, csak különböző paramézersorokat kérnek be, amiből összeáll a végén egy rajz. De azt nem is látom, csak a végére gyártja le, és mutatja meg az egyik fragment. De ez nem lényeges.
Az onResumeFragments azért kell, mert az onResume részig még nem álltak össze a Fragmentek, már amit a rendszer állít vissza.
Pont ez teszi nehézzé, hogy nincs olyan pont, ami még biztosan le[ut, de a Fragmentek már üzemkészek. Viazont kezdem átlátni, hogy két irányt kell elkészíteni. Az első elkészítéskor az onActivityCreate érheti el a másik Fragmentet ˙Activityn át), később viszont ekkor még nem látja az Activity a másik Fragmentet, tehát nekem kell explicite az OnResumeFragmentsben meghívnom egy adatokat beállító külön fragment metódust.
Ez a megoldás nem túl szép, szerintem a staticus mező tisztább! Köszi a segítséget, a beszélgetés nélkül még törtem volna rajta a fejem egy darabig.[ Szerkesztve ]
-
WonderCSabo
félisten
Ma hajnali ötig szívtam a support lib miatt. A support Fragmenteket mindenki ismeri. Viszont kiderült a Googlenek egy turpissága, ami teljesen dokumentálatlanul történik support Fragmentek esetében.
Fragment hozzáadása alatt ez történik:
f.mView = f.onCreateView(f.getLayoutInflater(f.mSavedFragmentState),
null, f.mSavedFragmentState);
if (f.mView != null) {
f.mInnerView = f.mView;
f.mView = NoSaveStateFrameLayout.wrap(f.mView);
if (f.mHidden) f.mView.setVisibility(View.GONE);
f.onViewCreated(f.mView, f.mSavedFragmentState);
} else {
f.mInnerView = null;
}A NoSaveStateFrameLayout pedig ez:
class NoSaveStateFrameLayout extends FrameLayout {
static ViewGroup wrap(View child) {
NoSaveStateFrameLayout wrapper = new NoSaveStateFrameLayout(child.getContext());
ViewGroup.LayoutParams childParams = child.getLayoutParams();
if (childParams != null) {
wrapper.setLayoutParams(childParams);
}
NoSaveStateFrameLayout.LayoutParams lp = new NoSaveStateFrameLayout.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT);
child.setLayoutParams(lp);
wrapper.addView(child);
return wrapper;
}
...
}Amint fent látható a Google azt a turpisságot követi el, hogy miután az onCreateView lefut, a Fragmentet egy új FrameLayout-ba wrappeli szépen... Ez a FrameLayout pedig jól szétcseszi a View hiearcihámat, különösen nested Fragmentek esetén. Egyébként csomó idő is volt rájönni erre... Az is totál inkorrekt, hogy elvileg az onViewCreated első paraméterének az a specifikációja, hogy az a View, amit az onCreateView csinált - na itt ez se fog érvényesülni, hiszen a wrapper FrameLayout lesz az onViewCreated első paramétere.
Remélem időt spóroltam Nektek ezzel, hátha Ti is belefuttok ilyesmibe.
-
Submarine
senior tag
Sziasztok!
Feltettem virtuális gépre a nemrég kiadott android-x86-4.4-RC1.iso -ról 4.4.2-őt.
Minden szép és jó, csak mivel ez PC, elég vicces láthatatlan egérrel kóricálni rajta.Egyszóval hogy lehet elővarázsolni rajta a kurzort?
A billentyűzetet azt magától ismeri..Azt hiszi magáról hogy tablet. És azt kell mondjam, régi netezős-filmnézős gépekre ez lesz a működő alternatíva, főleg most hogy az xp-nek is leáldozott.
Bocs ha rossz topicba jöttem!
-
thon73
tag
válasz WonderCSabo #1816 üzenetére
Csak együttérezni tudok.
A Support Fragmenttel én is tapasztaltam anomáliákat 2.3.x és 4-x alatt nem egyformán működött. A másik falba ütközésem a nested megvalósítással történt, így utólag valószínű pont emiatt. (Nem megfelelően állt fel a layout, különösen újraindításnál.) Én feladtam a nested variánst, azóta mindent szigorúan az Activity vezérel (szinte csak erre tartom )
De elismerésem, hogy ezt így kibogoztad!!! -
kemkriszt98
aktív tag
Sziasztok, ez alapján próbáltam beilleszteni egy Share gombot a programomba, a baj csak az, hogy csak a skype meg a különböző e-mail kliensek jelennek meg mint választási lehetőség, nekem viszont a legjobban a facebook kellene... (persze azért megtartanám a choosert)
[ Szerkesztve ]
"Tigris, tigris, csóvafény éjszakáknak erdején, mily kéz adta teneked szörnyü és szép termeted?" -William Blake-
-
addikt
válasz kemkriszt98 #1821 üzenetére
Ha kifejezetten facebook kell, akkor a facebook SDK-t kell használnod.
-
kemkriszt98
aktív tag
válasz Superhun #1822 üzenetére
Kösz, meg fogom nézni.... amúgy a setType megcseréltem zárójelei között megcseréltem a text/plain-t plain/text-re és most megy, leszámítva, hogy a megosztandó szövegből csak a linket írja ki de úgy olvastam hogy ez a facebook egy bugja, vagy nem?
"Tigris, tigris, csóvafény éjszakáknak erdején, mily kéz adta teneked szörnyü és szép termeted?" -William Blake-
-
h1ght3chzor
őstag
Hol kellene pontosan letiltanom a gombokat amiket én definiáltam, hogy a program elindítása után ne lehessen rákattintani?
setOnClickListener-ben ez sikerül is, de csak miután megnyomtam vmilyen gombot.Kérlek tisztelj meg azzal, hogy válaszolsz a privát üzenetre.
-
Karma
félisten
válasz h1ght3chzor #1824 üzenetére
A gombok létrehozása után azonnal (pl. onCreate(), a setContentView() után) már állíthatod.
“All nothings are not equal.”
-
h1ght3chzor
őstag
Én is így gondoltam, de valamiért nem működik. Így csináltam:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button btnKijelentkezes= (Button) findViewById(R.id.btnKijelentkezes);
btnKijelentkezes.setClickable(false);Kérlek tisztelj meg azzal, hogy válaszolsz a privát üzenetre.
-
Karma
félisten
válasz h1ght3chzor #1826 üzenetére
A setEnabled metódust használd inkább.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz h1ght3chzor #1828 üzenetére
Nem biztos hogy jó megoldás, de egy próbát megérhet, hogy az onCreate-ben hívd meg a requestFocus metódusát annak az ET-nek, amit szeretnél fókuszálni.
“All nothings are not equal.”
-
WonderCSabo
félisten
válasz h1ght3chzor #1830 üzenetére
Defaultból mindig a View hierarchiában lehető legelső focusble view-ra ugrik a focus.
-
thon73
tag
Kedves Adatbázis Guruk!
Csinált már valaki olyat, hogy NEM a beépített szöveges keresésekkel keresett android sqlite adatbázisban? A lehetőségeket (keresésre külön oszlop pl.) olvastam itt-ott a neten, ezt pl ki is próbáltam. De saját tapasztalata (amit esetleg meg is osztana) van valakinek? Ahol esetleg nem kéne duplázni az adatokat.
(((az ANDROID sqlite lényeges, mert C forráskódban láttam erre beépített lehetőséget is, de tudtommal itt nincs)))Ha valaki zsákutcába futott ezzel, és elmondja, annak is örülnék; legalább arra már nem próbálkozom.
Köszönöm!
-
h1ght3chzor
őstag
Sziasztok!
Lenne 3 kérdésem.
Hogyan kell:
bluetooth-on keresztül kommunikálni szervizzel?google naptári bejegyzéseket csinálni?
androidon szerviz alkalmazást írni, a programom mellé, mögé?
Köszönöm a válaszokat!
Kérlek tisztelj meg azzal, hogy válaszolsz a privát üzenetre.
-
Karma
félisten
válasz h1ght3chzor #1833 üzenetére
1) Addig szép, hogy Bluetooth, de milyen profil? Mert például más osztályok kellenek a Serial Port Profile-hoz a BluetoothSocket/BluetoothServerSocket osztályok kellenek, és úgy viselkedik, mint egy TCP socket. De van tucatnyi más lehetőség (pár gyakori: PAN, HID, A2DP, OPP). Az egész hóbelebanchoz tartozik egy guide az Android SDK dokumentációjában, ezzel kezdhetnél.
2) Ehhez is csak a dokumentációt kéne olvasnod, íme az event létrehozás mikéntje.
3) Meglepő módon a Service osztály dokumentációja még példát is tartalmaz a magyarázat mellett.
“All nothings are not equal.”
-
Discon00b
újonc
Üdv!
Szakdoga témának egy mikrokontroller és egy android alkalmazás készítését jelöltem meg témának.
Szerencsére van időm megírni mindkét programot, tehát nem hajt a tatár.Maga az android alkalmazás néhány nyomógomból és egy zöld-piros "lámpából" állna.
A feladat maga "fiktív", nem kerül tényleges beépítésre egyik eszköz sem, de természetesen a bizottságnak majd prezentálni kell a történetet.Tehát az alkalmazás felépítése:
- Zöld-piros visszajelző (ez a rész kapna egy jelet a mikrok.-től hogy a szenzor érzékelt valamit. Ez a rész csak adatot kap, nem küld semmit)
- Yes-No funkció gombok (ezek küldenek jelet a mikrok.-nek hogy start vagy stop)
- Mivel ez egy automatizálás feladat, lenne még egy Warning Msg mikor a készülék alapállapotban van, kap a kezelő egy jelzést a készülékre hogy új figyelmeztetés érkezett, hang + rezgés formában.
Mindezek Bluetooth vagy WiFi-n keresztül kommunikálná le, bár még nem tudom hogy melyik az egyszerűbb a portok és a hozzáférés megadásának szempontjából.
Egy szó mint száz. Ha lenne egy önkéntes aki tudna tartani egy gyors talpalást, vagy csak felvázolni hogy ezt hogyan lehet megvalósítani, honorálnám. Igyekszem egyedül megcsinálni természetesen, tudom hogy sokan vinnyognak segítségért, mint most én, de reménykedem
-
Sianis
addikt
válasz Discon00b #1835 üzenetére
Hali!
Nem nagy kaland, szerintem Bluetooth-szal jobban jársz. Sima soros kommunikáció nem egy nagy feladat rajta, az Android oldalán van egy példa chat alkalmazás, az gyakorlatilag a keresés - párosítás - küldés/fogadás részét teljesen lefedi.
A mikrokontrolleres rész nem ide tartozik, de gondolom azzal jobban állsz.
Sianis
-
kemkriszt98
aktív tag
Sziasztok, szeretnék készíteni egy alkalmazás ami kb abból állna, hogy a userek "feltölthetnek" egy szöveget (esetleg regisztrálhatnak) ilyesmi.... (semmi haszna csak tanulás céljából). A baj csak az hogy még soha nem foglalkoztam ilyesmivel... az androidos részét majd csak össze googlizom de a pc-s rész esetében (elvileg ott tárolnám az adatokat) fogalmam sincs, hogy merre induljak, mit keressek..... Minek kellene utána néznem?
"Tigris, tigris, csóvafény éjszakáknak erdején, mily kéz adta teneked szörnyü és szép termeted?" -William Blake-
-
h1ght3chzor
őstag
válasz h1ght3chzor #1837 üzenetére
Letöltöttem, de nem fut sajnos nekem.
Kérlek tisztelj meg azzal, hogy válaszolsz a privát üzenetre.
-
h1ght3chzor
őstag
válasz h1ght3chzor #1839 üzenetére
E/BluetoothAdapter(1140): Bluetooth binder is null a pontos hiba, mit kellene csinálnom, hogy le tudjon futni?
Kérlek tisztelj meg azzal, hogy válaszolsz a privát üzenetre.
-
WonderCSabo
félisten
válasz h1ght3chzor #1839 üzenetére
A BluetoothChat példaprogiról van szó. Itt találod <SDK_HOME>\samples\android-<XX>\legacy. Persze csak akkor, hogy letöltöd az adott API levelhez a samples csomagot.
-
Sianis
addikt
válasz h1ght3chzor #1837 üzenetére
Ez eléggé hasonlít. Amúgy a samples-ben kellene lennie, amit az SDK Manager letölt.
Sianis
-
h1ght3chzor
őstag
válasz WonderCSabo #1841 üzenetére
Köszönöm, beimportáltam, de mivel sajnos nekem csak emulatorom van, ezért csak ott tudom szimulálni. Esetleg tudtok javasolni beállításokat, amivel el is indulna? Mert jelenleg nem fut, pedig 4.4.2 api 19...
bluetooth binder is null hibaüzenet fogad, meg hogy ami most van virtual device nem jó neki.Vagy ez tényleg így van? The emulator does not support Bluetooth, as mentioned in the SDK's docs and on several other places.
[ Szerkesztve ]
Kérlek tisztelj meg azzal, hogy válaszolsz a privát üzenetre.
-
Karma
félisten
válasz h1ght3chzor #1843 üzenetére
Tényleg így van. Próbálkozni is kár.
“All nothings are not equal.”
-
kemkriszt98
aktív tag
-
WonderCSabo
félisten
válasz kemkriszt98 #1845 üzenetére
A custom themedhez add hozzá ezt a sort:
<item name="android:windowActionBar">false</item>
Amit te el akarsz tüntetni, az nem a TitleBar, hanem az ActionBar.
[ Szerkesztve ]
-
kemkriszt98
aktív tag
válasz WonderCSabo #1846 üzenetére
Akkor megmondanád hogy melyik a Title Bar?
Amúgy ez a fehér csík maradt helyette:
Ezzel mit lehetne kezdeni?"Tigris, tigris, csóvafény éjszakáknak erdején, mily kéz adta teneked szörnyü és szép termeted?" -William Blake-
-
fatal`
titán
Merchant registration available in Hungary You can now register as a Google Play Merchant if you reside in Hungary.
Új hozzászólás Aktív témák
- Politika
- Formula-1 humoros
- Trollok komolyan
- XGS24 - Bemutatkozott a DOOM - The Dark Ages
- Vezetékes FÜLhallgatók
- Elektromos rásegítésű kerékpárok
- Luck Dragon: Asszociációs játék. :)
- Vicces képek
- Autós topik látogatók beszélgetős, offolós topikja
- Poco F3 - a mindenes, de nem mindenkinek
- További aktív témák...
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen