ScrollView中EditText報java.lang.IllegalArgumentException: parameter must be a descendant of this view
阿新 • • 發佈:2019-01-24
在ScrollView中巢狀RecyclerView,其中RecyclerView的item條目中如果有EditText,在輸入文字後,出現介面退出,並報如下類似錯誤:
Process: com.yuguo.thecarpenter.thecarpenterrepair, PID: 22957 java.lang.IllegalArgumentException: parameter must be a descendant of this view at android.view.ViewGroup.offsetRectBetweenParentAndChild(ViewGroup.java:5476) at android.view.ViewGroup.offsetDescendantRectToMyCoords(ViewGroup.java:5401) at android.widget.ScrollView.isWithinDeltaOfScreen(ScrollView.java:1184) at android.widget.ScrollView.onSizeChanged(ScrollView.java:1599) at android.view.View.sizeChange(View.java:17193) at android.view.View.setFrame(View.java:17155) at android.view.View.layout(View.java:17047) at android.view.ViewGroup.layout(ViewGroup.java:5579) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:396) at android.widget.FrameLayout.onLayout(FrameLayout.java:333) at android.view.View.layout(View.java:17056) at android.view.ViewGroup.layout(ViewGroup.java:5579) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:2001) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1844) at android.widget.LinearLayout.onLayout(LinearLayout.java:1753) at android.view.View.layout(View.java:17056) at android.view.ViewGroup.layout(ViewGroup.java:5579) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:396)解決的辦法:
參考:http://stackoverflow.com/questions/7100555/preventing-catching-illegalargumentexception-parameter-must-be-a-descendant-of;
在AndroidMainfest.xml中找到該Activity,然後新增屬性:
android:windowSoftInputMode="adjustPan"
例如:
<activity android:name=".View.Activity.BalanceWorkOrderActivity" android:configChanges="keyboardHidden|orientation"android:windowSoftInputMode="adjustPan" android:theme="@style/Anim_fade" />