- iPhone topik
- Telekom mobilszolgáltatások
- Google Pixel topik
- Fotók Google Camera Mod-dal (GCAM)
- A Huawei február 26-án globálisan is bemutatja a Mate 80 Prót
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Youtube Android alkalmazás alternatívák reklámszűréssel / videók letöltése
- Android alkalmazások - szoftver kibeszélő topik
- Bemutatta a Tecno a Pova Curve 2 5G-t
- Google Pixel 9a - a lapos munka
Új hozzászólás Aktív témák
-
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.
Új hozzászólás Aktív témák
- Milyen monitort vegyek?
- GoodSpeed: Te hány éves vagy?
- Milyen billentyűzetet vegyek?
- Az elmúlt 30 év legjobb processzorai
- Kormányok / autós szimulátorok topikja
- Synology NAS
- Abarth, Alfa Romeo, Fiat, Lancia topik
- iPhone topik
- Kaspersky Antivirus és Internet Security Fórum
- Battlefield 6
- További aktív témák...
- Lenovo Yoga C630 notebook 4K UHD kijelző 15,4 i7-8550U/16GB ram /128GB SSD
- Lenovo Thinkpad T495 Ryzen 5 PRO 3500U/8GB RAM/256 GB SSD/14" FHD Magyar bill. laptop
- Lenovo Thinkpad X390 i7-8665u/16GB RAM/512GB SSD/13.3"FHD Touch laptop eladó
- Legolcsóbban - Érintős Lenovo ThinkPad X1 Carbon Gen9: i5-1145G7/16GB/512Gb NVMe SSD/14"FHD IPS)!
- Legolcsóbban Bivaly Workstation Lenovo P15 (Core I7 10750H 32Gb 512Gb 4Gb Nvidia)
- SanDisk Extreme Portable 8TB (SDSSDE61-8T00-G25) (utolsó darab)
- HIBÁTLAN iPhone 13 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS4488, 100% Akkumulátor
- 164 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4090
- BESZÁMÍTÁS! ASRock H510M i5 11400F 16GB DDR4 512GB SSD RTX 4060Ti 8GB Zalman T3 Plus CM 650W
- 5G Lenovo ThinkPad P14s Gen 3 Intel Core i7-1280P Nvidia T550 32GB 1000GB 1 év teljeskörű garancia
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


