我有一个带有关联的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中,我使用以下代码从活动中动态引入一个名为CommentsFragment的片段:
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修复高度,则在活动中显示多个项目(实际上我显示的是一个和第三个项目)。它应该适应尽可能多的我通过适配器添加到片段列表中的项目。我在布局和视图中尝试了不同的高度组合,但仍然无效。也许我正在和其他人一起制作。
任何帮助将不胜感激。
提前致谢
答案 0 :(得分:1)
几天后我发现了确切的问题。我将一个ListView包含在ScrollView中,这显然不是Android开发人员推荐的。 您可以在此处查找更多信息:Why ListView cannot be used in a ScrollView?
无论如何,如果你想这样做,你可以用黑客做到这一点。看看这些提议: How can I put a ListView into a ScrollView without it collapsing?
对我有用。问题解决了。