温馨提示:本文翻译自stackoverflow.com,查看原文请点击:xml - android.view.ViewGroup$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParams
android xml

xml - android.view.ViewGroup $ LayoutParams无法转换为android.widget.LinearLayout $ LayoutParams

发布于 2020-03-27 12:00:22

我在执行以下操作时遇到异常:

findViewById(R.id.some_container).setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 50)); 

但是,当我更改为new LinearLayout.LayoutParams确定时。如果LinearLayout.LayoutParamsViewGroup.LayoutParams那个孩子为什么我不能投?

查看更多

查看更多

提问者
pushandpop
被浏览
131
W0rmH0le 2019-07-03 23:53

所有LinearLayout都是一个,ViewGroup但不是全部ViewGroup是一个LinearLayout这就是为什么您不能将a强制转换ViewGroup为aLinearLayout

您可以创建一个LinearLayout.LayoutParamsViewGroup.LayoutParams如下:

LinearLayout.LayoutParams params = 
    new LayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 50));

但是,简单的转换是不可能的。