gpt4 book ai didi

Android ListView布局参数集

转载 作者:太空狗 更新时间:2023-10-29 15:56:41 25 4
gpt4 key购买 nike

我的 xml 中有一个 Listview。它的结构是这样的:

<ListView 
android:id="@+id/SeriesCastListItemView"
android:paddingTop="10dip"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:divider="#FFFFFF"
android:dividerHeight="1px"/>

现在我想通过 java 代码为 Listview 设置高度。我尝试使用以下代码。

ListView castListItemView = (ListView) findViewById(R.id.SeriesCastListItemView);
castListItemView.setAdapter(new CastAdapter(this, castDescriptionArr));
castListItemView.setLayoutParams(new ListView.LayoutParams(LayoutParams.FILL_PARENT, 500));

但它给出了 java.lang.ClassCastException: android.widget.AbsListView$LayoutParams。我的代码有什么问题?

最佳答案

您应该使用包含您的 ListView 的父 View 的 LayoutParams。在我的例子中,我将 ListView 放在框架布局中,并使用了这段代码。如果您将 ListView 放在 LinearLayout 中,您将使用 LinearLayout.LayoutParams。

ListView castListItemView = (ListView) findViewById(R.id.SeriesCastListItemView);
castListItemView.setAdapter(new CastAdapter(this, castDescriptionArr));
castListItemView.setLayoutParams(new FrameLayout.LayoutParams(FrameLayout.LayoutParams.FILL_PARENT, 500));

我认为这是您问题中的错字,但请确保第三行的 castListItemView 中的“c”为小写。

MrJre 提出了一个很好的观点。因为许多不同的 View 都有自己的 LayoutParams,所以最好包括您希望使用其参数的 View (如在 FrameLayout.LayoutParams 中),而不是让 Eclipse 根据您之前导入的 LayoutParams 类进行猜测。

可以看到这个previous question获取更多信息。

关于Android ListView布局参数集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6776776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com