gpt4 book ai didi

android fragment listview 部分显示项目

转载 作者:行者123 更新时间:2023-11-30 03:28:12 24 4
gpt4 key购买 nike

我有一个 Activity 与关联的 activity.xml 代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/pattern_background"
android:orientation="vertical" >

<ScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="5dp"
android:layout_weight="1"
android:clickable="false" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >

...

<LinearLayout
android:id="@+id/llComments"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:orientation="vertical" />

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
</LinearLayout>
</ScrollView>

<include
android:id="@+id/layoutComments"
android:layout_width="match_parent"
android:layout_height="wrap_content"
layout="@layout/widget_comentarios_fragment" >
</include>

在 ID 为 llComments 的 LinearLayout 中,我使用以下代码从 Activity 中动态引入一个名为 CommentsFragment 的 fragment :

private Fragment commentsFragment;
private FragmentTransaction ft;
...
llComentarios = (LinearLayout) findViewById(R.id.llComments);
...
Bundle args = new Bundle();
args.putString(Constants.IDMODEL, getId());
commentsFragment = CommentsFragment.newInstance(args);
ft = getSupportFragmentManager().beginTransaction();
ft.add(R.id.llComments, commentsFragment).commit();

Fragment 关联的 xml 文件是:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<ListView
android:id="@+id/comments"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@color/transparent"
android:dividerHeight="10dp"
android:paddingLeft="@dimen/indicator_internal_padding"
android:paddingRight="@dimen/indicator_internal_padding" />
</LinearLayout>

我无法解决的问题是,如果我没有为 ListView 固定高度,则在 Activity 中显示多个项目(实际上我正在显示一个和第三个项目)。它应该适应尽可能多的我通过适配器添加到 fragment 列表中的项目。我在布局和 View 中尝试了不同的高度组合,但仍然不起作用。也许我正在取消一个与另一个。

如有任何帮助,我们将不胜感激。

提前致谢

最佳答案

几天后我发现了确切的问题。我将 ListView 包含到 ScrollView 中,Android 开发人员显然不推荐这样做。您可以在此处查找更多信息:Why ListView cannot be used in a ScrollView?

无论如何,如果你想这样做,你可以通过黑客来实现。看看这些建议: How can I put a ListView into a ScrollView without it collapsing?

对我来说很有效。问题解决了。

关于android fragment listview 部分显示项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17900818/

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