Hirdetés
Új hozzászólás Aktív témák
-
thon73
tag
Néhány próbálkozás után tapasztalati úton megválaszoltam magamnak: JOIN táblák esetén:
- A lejérdezés (qurey) minden formája (tehát értelemszerűen ContentProvider, Loader stb-be épített is) EGYEDI oszlopnevet kíván (tehát helyes a TELJES nevet megadni "table.column" formában). Logikus, hiszen különben nem tudja különválasztani az azonos nevűeket.
- Most jön a csavar: A Cursor NEM fogadja el a TELJES nevet, hanem az oszlopot CSAK a rövid, táblán belüli oszlopnévvel azonosítja. Ez nem akadályozza meg, hogy pl. két "_id" oszlop legyen. Ilyenkor persze név alapján nem lehet lekérdezni.((Hát egy újabb órát vakargattam a fejem, mire rájöttem, hogyan tudom kiszedni a két _id-t
)) -
thon73
tag
Készített már valaki SQLite JOIN paranccsal összekapcsolt táblákból CursorLoader-t és List-et? Egész messzire jutottam (végül is van lista), de nem teljesen tiszta, hogy mikor kell teljes (table.column) és rövid (column) formában megadott adatbázis-oszlop neveket használnom.
Konkrétan az adapter hibát dob, ha teljes (table.column) nevet adok meg: requesting column name with table name -- ... java.lang.Exception. (A cursorLoader meg akkor, ha rövidet...)
DE!
A program vígan továbbfut, mintha mi sem történt volna.
ÉS:
Ha nem használhatok teljes nevet, akkor hogyan tudok lekérdezni a két külön táblában lévő azonos nevű elemet (pl. _id) ?Ha valaki tapasztalt tudna ilyen irányban segíteni, szívesen küldök kódot is.
-
-PLevi-
senior tag
Köszönöm!
Szóval ha jól értem, a megfelelő módosítás után lehetne telepíteni, de amint olyan funkciót szeretnék használni, amihez 4.0-s API kell, jönne a Force Close?(#1387) hunfatal
Értem. Túl sok reményt én sem fűzök hozzá, csak nem hagyott nyugodni a gondolat.
(#1391) kisguly
Link
Blade esetében külön, fájlrendszer nélküli partíció van fenntartva a számára a ROM-on. -
kisguly
tag
Sziasztok!
Lenne egy olyan kérdésem, hogy a készülék bekapcsolásakor megjelenő első képet, ami általában a készülék gyártmánya, miként lehet kicserélni? Mekkora szakértelmet kíván, milyen típusú és méretű kép kell hozzá? Esetleg mi a menete. -
Karma
félisten
válasz
-PLevi-
#1385
üzenetére
Ez inkább az Android alkalmazások topikhoz tartozik, de azért megválaszolom a kérdést ahogy sejtem a helyzetet. Ha megvan az APK, akkor annak visszafejtésével (pl. Virtuous Ten Studio segítségével) és a manifest átírásával elvileg a telepítési korlátot át tudod hágni. Aztán futtatáskor, amint az első magasabb szintű API-t, témát, akármit megpróbál használni, game over.
-
-PLevi-
senior tag
Sziasztok!
Lenne egy kérdésem, remélem kapcsolódik a topik témájához.
Arról lenne szó, hogy megoldható-e, hogy egy 4.0+ igényű app, elinduljon 2.3.7-es rendszeren? Régebben valahol olvastam olyat, hogy igen (Nova launcherről volt szó, azt írták, hogy működik, kivéve az alkalmazásfiókban a widget fül), de nem tudom, hogy ez mennyire volt megbízható információ. -
fatal`
titán
válasz
WonderCSabo
#1383
üzenetére
Jogos, nem is figyeltem, sosem használtam ezeket.
-
RexpecT
addikt
Ha nincs rootolva a készülék, akkor ugye az alkalmazáshoz tartozó sharedpreferencest csak az adott alkalmazás tudja olvasni?

-
rgeorge
addikt
Én inkább átalakítottam a feladatot, mert eredetileg azért kerestem az SD kártyát, mert az adott céleszközben az a legnagyobb kapacitású tároló, és arra kell menteni. A legnagyobb kapacitású tárolót viszont már könnyebb megtalálni ("/storage" alatti elemek közül kiválasztani a legnagyobb kapacitásút, amire az alkalmazás képes írni)).
-
thon73
tag
válasz
rgeorge
#1373
üzenetére
Hm. Lehet, hogy találtam valamit. Bár elegánsnak - hát kérdéses...

Az Android valójában egy linux. A Linux nem drive-ként látja az egyes részeket (vs. windows), hanem egyetlen nagy fában, amibe be-mountolja az egyes file-részeket. Ebben az értelemben egyébként az sd-kártya alap-könyvtárát sem kellene közölnie, hiszen az is "csak" egy könyvtár.
Ugyanakkor linux alatt is van mód az egyes összetevők lekérdezésére, legegyszerűbben talán a mount paranccsal. Ebből ugyanis kiderül, hogy melyik "drive" hova került becsatolásra. A mount elérhető android alatt is (én root-olt készüléken használtam, de csak olvasásra talán nem-rootolt masinán is működik.)
A kimenetet nem egyszerű megszerezni, de itt van a módja: [link]
Sok nyitott kérdés marad: pl. hogyan szeded szét a mount elemeket; ill. én nem is foglalkoztam behatóan a parancssorok elérésével, ezért kódot sem tudok adni. De ha ez tényleg ilyen fontos, akkor talán ezen az úton el lehet indulni. ((Én, a magam tapasztalatából megelégednék az external könyvtárral, és nem foglalkoznék azzal, hogy eltávolítható-e, vagy sem.))
-
rgeorge
addikt
Abszolút rendeltetésszerű lenne, hogy olyan telefonon, ahol kétféle external storage van, mindkettőt elérhessem, és ugyanolyan könnyedén. Az Android csak az external storage fogalmat ismeri és publikálja, az meg általában a belső. Nyilván konkrét eszközön van más módszer is, engem az általános érdekel.
-
thon73
tag
válasz
rgeorge
#1367
üzenetére
Az előző linket pont azért tettem be, mert azt boncolgatja, hogy nem triviális a megoldása.
Én ezzel a problémával egy szótár-adatbázis kapcsán találkoztam. Hová tegyem? Végül abban maradtam magammal, hogy ez az external cardon kívül a felhasználó dolga - aki a konkrét esetben én magam vagyok. Annyi segítséget tettem bele, hogy az utoljára kiválasztott könyvtárat megjegyzi. Én meg annyit jegyeznék meg, hogy az új tabletemben nincs sd-kártya, viszont beépített 16 Gb, ami több mint elég. Így az elgondolás "bejött".
Még egy ötletem van: ha betölteni akarsz nagy v. sok file-t, akkor a file-ok alapján lehetne esetleg megkeresni a könyvtárat. Mentésnél ez persze nem segít...
Még egy: Elixir2 - elég ügyes program, de nem tud különbséget tenni "külső" és "belső" sd között
-
Karma
félisten
válasz
rgeorge
#1369
üzenetére
Nem lenne bonyolult, de nem rendeltetésszerű használat. Az alkalmazásoknak odáig szabadna foglalkozni az üggyel, hogy internal vagy external storage – az API is ezt tükrözi. Ha szembemész a rendszerrel, az mindig ilyen taknyolást hoz.
Amúgy mit csinálnál olyan telefonon, ami nem bővíthető SD-vel?
-
thon73
tag
válasz
SektorFlop
#1363
üzenetére
A segítségnyújtáshoz esetleg egy kis kódot tudsz küldeni?
((Az ArrayList miatt nem a tökéletes megoldás számodra, de a CursorLoader-ről találtakat itt foglaltam össze: [link] Főleg a beillesztett külső cikkek miatt írtam ide.))
Még annyi jutott eszembe, hogy az Adapter által látott ArrayList-et leellenőrizted? Biztosan belekerült az adat?
Üdv! -
rgeorge
addikt
Van arra elegáns módszer, hogy egy eszköz valódi SD kártyájának elérési útvonalát meghatározzam? Az eszköznek van külső tárolója beépítve is, tehát az Android external storage erre mutat, nem a valódi SD kártyára. Fényképezni kell és a valós SD-re szeretném a képeket menteni. Az a megoldás nem tetszik, hogy a valós SD-t beállítom a kamerában és az utoljára mentett képet keresem meg.
-
SektorFlop
aktív tag
Csak küszködök, így belemegyek részletesen.
Van egy Fragment1, és Fragment2, PagerTabStrip formájában jelenik meg egy Activityn. Plusz egy sqlite db-m, és egy ArrayList-em amibe beletunkolom az adatbázisról a dolgokat objektum formájában.
Fragment2: ListView szépen létrejön minden a helyén. ✓
Átlapozok Fragment1-re, kitöltöm amit kell és gombnyomásra bővítem az adatbázis tartalmát. ✓
Az ArrayList kiegészül az újonnan felvitt adatokkal. ✓Innentől káosz minden:
Visszalapozok Fragment2-re ügyebár nem látszik a listán az új sor, és sehogy se sikerül összehoznom hogy frissüljön ListView. -
TheProb
veterán
Sziasztok!
Gondolom már páran hallottatok a mobiltárca tesztről, amikor ugye telefont használunk fizetésre (NFC-vel), na most, ez a drága szervezet és a szolgáltatók nem vettek bele a tesztbe egy HTC telefont sem és eléggé pipa vagyok, hogy a csúcskategóriás HTC One-omat nem tudom erre használni... Szerintetek meglehet úgy pimpelni az .apk-t, hogy beengedje a telefonomat? A gond ott van, hogy feltelepül az app és regelni kéne a telefont. Megkell adni a tfon számot és 1 jelszót az alkalmazáshoz, majd küld SMS-ben egy kódot amit be is ír magának. Na itt van a gond, hogy itt írja ki a hibákat. Vagy netán rootolni kéne a telefont és átírni a systemben a build.prop-ban valamit? (sajnos nem ugrok be a neve, itt vannak a készülék releváns adatai)
Szerintetek kivitelezhető lenne valahogy?
-
thon73
tag
válasz
SektorFlop
#1354
üzenetére
Én ugyanezt egy Loader-rel oldottam meg. A konkrét esetben egy CursorLoader-rel, ami nagyon szépen működik automatikusan. Van benne egy filterként működő EditText, ott restartLoader-rel ki tudom kényszeríteni, hogy újra elkészítse a listát.
Korábban ListActivity-ben volt szükségem hasonló megoldásra. ((A kikeresett elemet átszínezte.)) Ott a list.invalidateViews() segített. Ez egy kicsit más oldalról működik, de végső soron ez is újra lekérdezi a megjelenítendő adatokat az adapter-től.
Ha szükséges, este kódokat is tudok küldeni.
Addig ezt érdemes elolvasni: Is there any difference between `ListView.invalidateViews()` and 'Adapter.notifyDataSetChanged()'? -
SektorFlop
aktív tag
válasz
lordjancso
#1355
üzenetére
köszi

-
lordjancso
senior tag
válasz
SektorFlop
#1354
üzenetére
Amikor beállítod a ListView adapterének az új elemeket, utána hívj meg egy frissítést az adapteren:
adapter.notifyDataSetChanged(); -
SektorFlop
aktív tag
Ha váltogatok két Fragment között, melyik életciklussal tudom újralétrehozni a view-t? Van egy listám, azt egyik fragmenten bővítem, a másikon pedig ListView-ban meg akarom jeleníteni a dolgokat. Csak amikor fragment-et váltok sehogy se tudom frissíteni a listát

-
thon73
tag
No, megvan. Jó hírek minden Win7 használónak, rossz hírek dmc-nek...
A gép Toshiba Portege R830 (ez gondolom, nem lényeges).
Rendszer: Windows 7 Professional Service Pack 1
Összes korábbi JAVA törölve a programok vezérlőpulton, a gépen nincs JAVA könyvtár, nincs JAVA a PATH-ban sem.
Indításkor a megszokott, "nem találom a JAVA-t" üzenet fogad.Oracle honlapról: jdk-7u45-windows-x64.exe letöltve, telepítve a felajánlott c:\program files\java könyvtárba, gép újraindítva. Path NEM tartalmaz Java elemeket!
Android Developres honlapról a felajánlott file letöltése: adt-bundle-windows-x86_64-20131030.zip, egyszerűen TC-vel kicsomagolva. Az alkönyvtárból indítom az Eclipse-t, az indítja az SDK Manager-t (szintén műxik)
És minden működik, a próba project fut a virtuális gépen.
Bocsánat Google, az előző kiadás óta javították a 64 bitet...((Megjegyzés: Az előző verziót is fent hagytam (API 17). A korábbi (6/33) Java 32 bites részének eltávolításakor összeomlott, az SDK Manager már nem ment (fekete ablak), az új Java verzióval pedig egyáltalán nem ment.
))Esetleg még a USER menüben lévő .android könyvtár törlése segíthet a hibás beállítások törlésében.
-
thon73
tag
Jól elvitatkoztunk ugyanarról

(((Nyelvtani ugyan a megjegyzés: nem az sdk-t, hanem a benne lévő egy-egy megoldást tituláltam félkésznek stb. És kivétel nélkül sikerült is megkerülni valahogy mindet. Én csak csodálkozom, hogy egy ilyen egyszerű dolgot, mint pl a 64 bites rendszert - ami egyébként kész, és nyilván nem kevés munkaidő van benne - egy utolsó kis buktató miatt hónapok/évek óta nem oldanak meg. Bizonyára volt más dolguk is, és végeredményben egész helyre kis programokat lehet alkotni rajta...)))dmc! Nem sikerült a 32 bites Java/ 32 bites Android SDk / 64 bites Win7 kombináció sem?
Csak úgy érdekelne... Ha hozzájutok a géphez, kipróbálom én is az up-to-date rendszerekkel.
Az Ubuntu+KDE egyébként nagyon jó, csak ajánlani tudom! -
dmc
aktív tag
Köszönöm az eddigi hozzáoszlásokat és segítségeket de közbe egy Virtualboxal és abban egy 32 bites rendszerrel tökéletesen működik.
De akár mit csináltam nekem 64 biten nem igen akart elindulni sehogy se. -
-
fatal`
titán
Az android sdk-nak kevés köze van az sqlitehoz, azt nem a google fejleszti.
Félkész != néhol bugos.
Nézd meg mennyi bug van egy sima appban, aztán hasonlítsd össze a méretét egy SDK-val. Az összes fejlesztői környezetben találni bugot, a .netben is van szép számmal.
De sokszor előfordul, hogy egy bugnak titulált helyzet nem bug, hanem másképp kell megoldani, mert nem úgy működik, mint, ahogy a fejlesztő gondolja.
A foreign key pl. ezer éves, olvasd el az utolsó commentet.
-
thon73
tag
Ezen nem fogunk vitatkozni...
De nehogy a Google alaptalan vádaskodásért pereljen
, meg amúgy is elolvasásra érdemesnek tartom:
Overcoming Android's Problems with JDK 7Másrészt az SDK hibáiról:
Egy egyszerű (lévén az android beépített adatbáziskezelőt tartalmaz) adatbáziskezelő felületet készítgettem, fragmentekkel, sqlite-tal, egyebekkel - de semmi extrával.
- query hiba, egyetlen aposztrof miatt
- foreign key engedélyezése
- DialogFragment setRetainInstance(true) nem működik együtt
- Fragment-ből DialogFragment hívása - elvileg működik, de elfordításnál (egyetlen 0 miatt) az ablakok fordított sorrendben jelennek meg (és elfedik egymást), ((sajnos a linket a kóddal együtt töröltem))
...ezek csak azok, ahol a bug-report-ot feljegyeztem, de sorolhatnám azokat a helyeket, ahol már automatikusan a megkerülő lehetőséget alkalmaztam.És ez szerintem azért gond, mert én hobby-programozó vagyok: nem munkaidőben, nem pénzért, nem munkacsoportban írok egyszerű kódokat - részben szükségből, részben szórakozásból. Ha én ennyi hibával találkozom, akkor mennyi lehet a "nagy" programoknál? No, de ez már filozófiai probléma, és nem is ide tartozik.
Ami azonban az Android (és elsősorban a fórumok) javára írandó: egyetlen olyan probléma sem volt, amit némi kutakodással, vagy kérdezéssel nem lehetett volna áthidalni.
Bocs, ha valakit megbántottam
-
fatal`
titán
"hogy az Android Developers oldal mind a mai napig JDK 6!-ot javasol"
Ennek az az egyszerű oka van, hogy az android java 6-ot használ. Ettől függetlenül simán megy 7-es JDK-val, én is avval használom.
Amúgy 32 bit eclipse + 32bit jdk, 64-es winen is hibátlan.
"Egyébként az android alatt elég sok ilyen félkész/hibás/kerülőutas megoldással fogsz találkozni, ne akadj fenn rajta rögtön az elején..."
A hibák nagyrésze a java kókányolása, pl. windows alatt eleve cseszi megcsinálni a PATH változót, azt is kézzel kell, Linuxon ez pl. automatikus.Az SDK-ban meg sok félkész dolog nincs.
-
thon73
tag
Megoldás szerintem nincs. Karma véleményével messzemenőkig egyetértek, csak éppen a 64 bites Android SDK hibás. Nem működik - legalábbis ezt tapasztaltam - a 32 bites Java nélkül, a netes vélemények alapján egyszerűen nem találja meg. Személy szerint furcsának találom, hogy ezt nem javították (legalábbis addig, ameddig win-en követtem.)
A feleségem laptopján (amit utazáskor használunk néha), hiba nélkül együttműködik a 64 bites Android és a 32 bites Java. Megjegyzem, az is érdekes, hogy az Android Developers oldal mind a mai napig JDK 6!-ot javasol. (Egyébként én is 7-tel használom, gond nélkül, de ez nem jelenti azt, hogy nem is léteznek vele problémák.)
B verzió 32 bites megoldás mindkét oldalon, de akkor még mindig kérdéses a Win downgrade
((Egyébként az android alatt elég sok ilyen félkész/hibás/kerülőutas megoldással fogsz találkozni, ne akadj fenn rajta rögtön az elején...)) -
dmc
aktív tag
De mint írtam letöltöttem a 64 bites javat fel is telepítettem majd ezek után az Android SDK Managert próbáltam felrakni aminél felugrott egy fekete ablak és kész onnantól se kép se hang nem volt majd feltettem itt a kérdést és érkezett rá választ majd azt kipróbálva újra elindítva az SDK Managert elindult és fel is települt szépen.
Akkor mit csináljak?
MI a megoldás? -
Karma
félisten
BROTIP: A bundle-t nem kell telepíteni, csak kitömöríteni.
dmc: Ilyen JNI hibák platformütközéskor szoktak előfordulni leginkább. A biztonság kedvéért vegyük át: 32-bites JDK mellé 32-bites ADT kell, 64-es JDK-hoz meg 64-es ADT. Keverve nem megy.
Egyébként nem szokott általában ez ilyen bonyolult lenni, csak valahol elsiklott valami... Pl. húsz perce raktam az egyik gépemre én is ADT-t, elsőre ment. Az SVN-t több szopás belőni

-
thon73
tag
Igen, én ajánlottam, mivel kísértetiesen azonos problémával szembesültem Win7/64bit alatt. De a 32 bites Java JDK feltelepítésével (64 bites mellett!!) minden pikk-pakk ment. Kétségtelen, ez egy korábbi verzió volt, azóta áttértem Ubuntura.
A Java telepítése után telepítetted a Bundle-t? Vagy a Bundle telepítése után cserélted a Java-t? ((Vagy már sikerült beüzemelni?)) -
Dave-11
tag
Meg lehet adni valahogy egy alkalmazás készítésekor, hogy amikor telepítjük alapból az SD kártyára települjön?
-
Karma
félisten
Menj be a környezeti változók közé, és vegyél fel két értéket:
1) JAVA_HOME, ami a feltelepített JDK mappájára mutat
2) PATH, ami a JDK-n belüli bin mappára. (Ha már van PATH definiálva, akkor pontosvesszővel elválasztva csapd a végére a JDK bint.)Ezt pl. a Rapid Environment Editorral sitty-sutty meg tudod tenni.
-
thon73
tag
Én ezt találtam korábban. Nem működött a 64 bites java-val, és nem tudok róla, hogy ez változott volna. Próbáld ki a 32 bites Java-t feltenni!
-
dmc
aktív tag
Sziasztok!
Most ismerkedem az Androiddal és egyből van egy kis gondom nem tudom ezt a csomagot feltelepíteni:
adt-bundle-windows-x86_64-20131030
Kicsomagolom van benn 2db könyvtár és egy exe fájl ami az SDK Manager erre rákattintok előugrik egy fekete ablak és onnan tol semmi se történik.
Kerestem megoldást de sehol se írják le hogy ilyen gond lenne vagy én nem találtam meg jól.
A rendszer az WIN 7 64 bit
köszönöm előre is segítséget -
half333
őstag
áá,csak roszabb lett
-
Karma
félisten
válasz
half333
#1320
üzenetére
Jé, most hogy kiderült hogy milyen telefonról van szó, egész gyorsan meg lehet találni Google-lel a megoldást. Még csak kernelt se kell forgatni hozzá, csak root jogok kellenek. De ez már tényleg az Active topikba tartozik.

-
Karma
félisten
válasz
half333
#1317
üzenetére
Egyrészt még mindig nem mondtad, milyen telefonról van szó; másrészt bár tényleg lehet az Androiddal kapcsolatos közös dolgot ott állítani, azért gyártófüggő is a fájl tartalma; harmadrészt a kérdésedhez a build.propnak vajmi kevés köze van, inkább a a LED-ek előtét ellenállását kéne kiforrasztani és kisebbre cserélni...
-
half333
őstag
Sziasztok! Az alsó gombsor világítása nagyon halvány. Lehet valamit állitani a build.prop-ban? Valaki tudna ebben segíteni?
-
lordjancso
senior tag
Lenne még egy kérdésem.

Ezt a Pager Sliding TabStrip-et használom az alkalmazásomban.
Az első activity-mben jelenítek meg három fragmentet és aközött lehet lapozni vele.
A main activity-m xml-je így néz ki:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/app_background"
android:orientation="vertical" >
<hu.lordjancso.myapp.ui.PagerSlidingTabStrip
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="38dp"
android:alpha="0.5"
android:background="#000000" />
<android.support.v4.view.ViewPager
android:id="@+id/vp_mainmenu"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</android.support.v4.view.ViewPager>
</LinearLayout>Jól látszik, hogy a Tabok alatt jelenik meg a ViewPager, amiben lehet görgetni a fragmenteket.
Azt meg tudnám valahogy oldani, hogy nem egymás alatt helyezkedjenek el, hanem a ViewPager legyen fullscreen és a Tabok rálógjanak a ViewPagerre?
Valami olyan elképzelésem lenne, hogy a Tabok kb a kijelző közepén jelennek meg, az "alatta" lévő ViewPagerben lévő fragmentek ListFragmentek, és amikor az éppen aktuális ListFragment elemeit lefelé görgetem (tehát a tartalom ÉS a Tabok is haladnak felfelé), majd a tabok teteje eléri a kijelző tetejét, akkor azok "odaragadjanak", de a ListView elemeit tovább lehessen görgetni lefelé (ha még van benne tartalom persze).
És természetesen a balra-jobbra görgetés is működjön, amivel a ViewPagerben lévő fragmentek között tudok váltogatni.
Valakinek van rá ötlete?
Karma, benned bízom!
-
thon73
tag
Meg tudná valaki mondani:
Ha kaszkádszerűen indítom ugyanazt (ugyanazokat) az Activity-ket, (automatikusan eltárolva az előző instance-ot a BackStack-ben,) akkor mi lesz az Activity-hez tartozó FragmentManager-rel? Az új Activity példány új FragmentManagert is kap, vagy abból csak egy van az egész rendszerben, és figyelnem kell a benne lévő Frgamentekre? Köszi! -
caindwan
aktív tag
Valaki jártas benne, hogyan lehet ráoptimalizálni egy android rendszert egy másik telefonra, amire még nem adták ki?
-
lordjancso
senior tag
válasz
lordjancso
#1307
üzenetére
Egyelőre a legjobbnak tűnő megoldás:
@Override
public void onDestroyView() {
super.onDestroyView();
setListAdapter(null);
} -
lordjancso
senior tag
Igen, ez a megoldás már közelít, de még így sem tökéletes:
Az adaptert eddig az onCreate-ben állítottam be. Mivel muszáj az adapter beállítás előtt meghívni az addHeaderView-t, így az onCreate-ből ki kellett vennem az adaptert.
Az onCreate után meghívja az onCreateView-t. Itt elkérek egy referenciát a headerbe beállítandó layoutra, majd inflatelem a view-t, amiben a ListView-m van és ezt beállítom visszatérési értéknek.
Ezután az onActivityCreated-ben tudom beállítani az előzőleg elkért header referencia alapján a headert, majd beállítani az adaptert.
Elindítom az alkalmazást és minden szép és jó, egészen addig amíg el nem kezdek navigálni.Az alkalmazásomban három darab fragment van egymás mellett egy ViewPager-ben.
Az első fragment a szóban forgó ListFragment, a másik kettő egyelőre sima Fragment.Ha elnavigálok a második fragmentre, majd vissza, akkor még minden oké.
Viszont ha elnavigálok a harmadik fragmentre, majd vissza az elsőre, akkor újra meghívja az onCreateView és onActivityCreated metódusokat és ekkor elszáll hibával.
Plusz ugyan ez van forgatásnál is.Találtam is erről egy StackOverflow bejegyzést.
-
Karma
félisten
válasz
lordjancso
#1304
üzenetére
A ListView addHeaderView metódusa nem jó erre? Az adapter beállítása előtt hívd meg.
-
lordjancso
senior tag
Viszont lenne még egy valamilyen szinten ehhez kapcsolódó kérdésem.
Azt meg lehet oldani, hogy a ListView-m első eleme egy kép legyen? Pontosabban egy LinearLayout. Valahogy így nézne ki:<LinearLayout
android:layout_width="match_parent"
android:layout_height="130dp"
android:background="@drawable/fragment_header"
android:gravity="bottom"
android:orientation="vertical" >
</LinearLayout>A ListView többi elemét az adapterén keresztül töltöm fel (azok ugye normális listaelemek, kattinthatóak, stb).
-
lordjancso
senior tag
válasz
lordjancso
#1302
üzenetére
Na még jó, hogy a hibaüzenetben ott van a válasz, csak nem gondoltam, hogy ilyen triviális lesz...
A megoldás annyi volt, hogy az xml-ben lévő ListView-nak fixen az alábbi id-t kell adni:
android:id="@android:id/list" -
lordjancso
senior tag
Üdv!
Azt szeretném valahogy megoldani, hogy egy ListFragment-em View-ja egy saját xml fájlból legyen elkészítve.
Úgy értelmezem, hogy a ListFragment-nek alapból van egy ListView-ja. Na én ezt szeretném felülírni a saját ListView-mmal, pontosabban az egész ListFragment view-ját, mivel az én xml-emben a ListView-n kívül még van pár egyéb elem, amint szintén szeretnék megjeleníteni!
Próbálkoztam felülírni a ListFragment onCreateView metódusát és ott inflatelni az én xml fájlomat, de az alábbi hibaüzenetet kaptam futtatáskor:
java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
Előre is köszi a segítséget!
Új hozzászólás Aktív témák
- A piac legerősebb kameráját ígéri a Xiaomi 17 Ultra
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Milyen videókártyát?
- Elite: Dangerous
- AMD Navi Radeon™ RX 9xxx sorozat
- Gyúrósok ide!
- Battlefield 6
- exHWSW - Értünk mindenhez IS
- Torrent meghívó kunyeráló
- További aktív témák...
- Lenovo Thinkpad P1 Gen 6 - i9-13980HX, 32GB, 2TB SSD, 16" WQUXGA (3840 2400), RTX 4090
- 15.gen! Intel Core Ultra 9 285K +16-32GB DDR5 RAM +hűtött VRM-es Z890 lap! GAR/SZÁMLA (a Te nevedre)
- OP AudioCodes C450HD Ip Phones - Szines kijelzős - Teams/ Zoom telefon - Új dobozos
- ATEN Cat 5 KVM over IP Switch Altusen KH1508AI - Új ára 284.000Ft
- AirPort Extreme 802.11n (3rd Generation) Model A1301 -
- LG 25GR75FG - E-Sport Monitor - FHD 360Hz 1ms - NVIDIA Reflex + G-sync - AMD FreeSync - HDR 400
- BESZÁMÍTÁS! Apple Macbook Air 15 2025 M4 16GB 256GB SSD macbook garanciával hibátlan működéssel
- Lenovo ThinkPad T14 Gen1 Intel i5-10310U Refurbished - Garancia - Akció!
- GYÖNYÖRŰ iPhone 12 Pro Max 128GB Pacific Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3940, 100% Akksi
- Vállalom FRP Lock os telefonok javítását ingyen kiszálással és akár helyszíni javittással
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi

))


Konkrét célmodell van, vagy mindenféle dzsunka telefonon is ki kéne találnod az SD elérést?









