| | |
| Stránka: 1 z 1
| [ Príspevkov: 4 ] | |
Autor | Správa |
---|
Registrovaný: 04.12.18 Prihlásený: 27.07.19 Príspevky: 2 Témy: 1 |
Ahojte, potreboval by som poradiť.
Mám problém so zobrazením fragmentu. Skôr ide o to, že keď zadám nasledovnú vetu:
getFragmentManager().beginTransaction().add(android.R.id.content,details).commit(); tak pri .add mi vypisuje error, a to:
error: no suitable method found for add(int,DetailFragment) method FragmentTransaction.add(Fragment,String) is not applicable (argument mismatch; int cannot be converted to Fragment)
Je tu nejaký špecialista programátor, ktorý by ma trochu nasmeroval? Som samouk, ale učím sa rýchlo. účim sa z netu a aj z knihy, kombinujem to, lebo čo nie je v knihe, je na nete a zas naopak. Ale s týmto mám fakt problém.
Dikes
|
|
Registrovaný: 01.03.13 Prihlásený: 25.04.24 Príspevky: 219 Témy: 49 Bydlisko: Sabinov | Napísal buci: 04.12.2018 20:10 | |
|
predpokladám, že netušíš, čo za parametre posielaš do metódy add(), že? najprv tam dávaš container, kam sa má fragment zobraziť a ako druhé dávaš samotný fragment, čiže napr. .add(R.id.tvojKontajner, fragment).commit(); osobne skôr používam metódu replace namiesto add, parametre majú rovnaké
|
|
Registrovaný: 04.12.18 Prihlásený: 27.07.19 Príspevky: 2 Témy: 1 |
Replace som neskúšal. Problem bol v tom, že čokoľvek som zadal do .add(), nebralo mi to. Skušal som aj (R.id.content, ...) aj (android.R.id.content, ...)Skusim dať replace. Vďaka za radu
|
|
Registrovaný: 01.03.13 Prihlásený: 25.04.24 Príspevky: 219 Témy: 49 Bydlisko: Sabinov | Napísal buci: 04.12.2018 20:46 | |
|
replace ti nepomôže, ak tam budeš dávať nezmyselné parametre ešte raz, namiesto toho R.id.content, android.R.id.content a podobne, tam musíš dať odkaz na názov tvojho kontajnera pre fragment takže postup je takýto: 1. v XML máš nejaký layout a v ňom miesto, kam chceš dať fragment - napríklad použiješ FrameLayout, nastavíš mu výšku, šírku a id dajme tomu "@+id/fragment_container" 2. v Jave máš nejakú tvoju triedu, ktorá dedí od Fragmentu, nazvime ju napr. DetailFragment 3. v Jave v aktivite (alebo odkiaľ budeš volať zmenu fragmentu) použiješ tie tvoje príkazy aj so správnymi parametrami, čiže napr. getFragmentManager().beginTransaction().replace(R.id.fragment_container, new DetailFragment()).commit(); dá sa to aj krajšie zapísať, ale na spustenie by to malo stačiť
|
|
| Stránka: 1 z 1
| [ Príspevkov: 4 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|