【问题标题】:android.view.ViewGroup$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParamsandroid.view.ViewGroup$LayoutParams 无法转换为 android.widget.LinearLayout$LayoutParams
【发布时间】:2023-03-23 17:23:01
【问题描述】:

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

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

但是当我更改为 new LinearLayout.LayoutParams 时,没关系。如果LinearLayout.LayoutParamsViewGroup.LayoutParams 的孩子,那为什么我不能投?

【问题讨论】:

    标签: android xml


    【解决方案1】:

    所有LinearLayout 也是ViewGroup,但并非所有ViewGroup 都是LinearLayout。这就是为什么你不能将 ViewGroup 转换为 LinearLayout

    您可以从ViewGroup.LayoutParams 创建LinearLayout.LayoutParams,如下所示:

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

    但是,简单的演员表是不可能的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-05
      • 1970-01-01
      • 1970-01-01
      • 2021-12-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多