问题描述:出现以下警告:requestLayout() improperly called by android.widget.TextView{...} during second layout pass: posting in next frame
requestLayout() improperly called by android.widget.TextView{...} during layout: running second layout pass
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <RelativeLayout android:id="@+id/title_layout" android:layout_width="fill_parent" android:layout_height="30dp" android:layout_alignParentTop="true" android:background="#c2c2c2"> <TextView android:id="@+id/tv_title" android:text="A" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginLeft="15dp" android:textColor="#808080" android:textSize="15sp" /> </RelativeLayout> <ListView android:id="@+id/list" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="none" android:layout_below="@+id/title_layout" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:fastScrollEnabled="false" /> </RelativeLayout>
第一天写好后运行是没有问题的,第二天来就爆出以上问题,查了一些外文网站,但是都无法解决我的问题。解决此问题关键是“running second layout pass”这一句,我把最外层的RealtiveLayout 改为LinearLayout,同时orientation改为vertical就可以了。