2

有没有人在 ListFragment 上有一个解决方案,总是强迫自己使用 match_parent 而不是 wrap_content,我把它放在带有 wrap_content 的 LinearLayout 上,并使用了类似的东西

getView().setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,70));

在 ListFragment 上,甚至在行 xml 上设置强制宽度,但它仍然使用 match_parent。此外,即使我在 xml 上使用片段或动态添加 listfragment,它似乎仍然会强制自己匹配父级。

任何帮助都是极好的。谢谢

4

2 回答 2

0

您可以为 ListView 的宽度和高度设置明确的大小,也可以设置match_parent. wrap_content对于 a 并没有任何意义,ListView特别是因为列表中的项目类型可以改变 - 所以如果这是最宽的可见项目的宽度,列表可能是 200 像素宽,但是如果你向下滚动最宽的项目可能为 300 像素宽,这将导致 ListView 的宽度发生变化。

于 2011-05-12T14:32:37.923 回答
0

正如我在上面的评论中提到的,我遇到了类似的问题。我设法解决了我的问题;也许它也会帮助你。

在我的活动中,我正在创建这样的片段:

DepartmentsFragment dFragment = new DepartmentsFragment();
dFragment.setArguments(getIntent().getExtras());
dFragment.setRetainInstance(true);
getSupportFragmentManager().beginTransaction().add(
        android.R.id.content, dFragment).commit();

我将第四行更改为:

getSupportFragmentManager().beginTransaction().add(
        R.id.list, dFragment).commit();

为了反映我希望我的 Fragment 替换的视图的 ID,它开始按需要工作。android.R.id.content告诉它适合整个屏幕。

希望这可以帮助!

于 2011-09-17T23:52:13.353 回答