Utilizziamo la libreria di compatibilità dei frammenti e stiamo cercando di ottenere la larghezza del frammento, aggiunta a FrameLayout. In base al ciclo di vita dei frammenti, fino all'esecuzione di onCreateView, getView(). GetMeasuredWidth() deve restituire 0. Tuttavia, stiamo ricevendo 0 in onStart(), che viene dopo onCreateView e, pertanto, il valore restituito non deve essere 0.Ottimizzazione della larghezza del frammento 0 in onStart()
questo è frammento, che la larghezza vogliamo sapere:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<FrameLayout android:id="@+id/details"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/carbon_fiber"/>
Perché questa anomalia sta accadendo? Qualsiasi aiuto sarà apprezzato.
IMO questa è la parte più frustrante e non intuitivo di Android. Ci sono molti molti post su SO su questo. Penseresti che il team di Google aggiungerebbe una callback su Activity/Fragment per questo, qualcosa come "yourFrigginViewsHaveDimensionsNow()' sarebbe buono. –