4

我正在从 a 加载一些新闻站点,webservice我想将它们添加到HorizontalScrollView.

在 iOS 上,我可以通过循环我的新闻项目,然后将文本标签作为子视图添加到ScrollView. 我正在尝试在 android 中做类似的事情,但我似乎无法让它正常工作。无论我做什么,这些项目都列在彼此的下方。

这是我添加视图的代码:

public void setupViews(ArrayList<News> news)
{
    HorizontalScrollView scrollView = (HorizontalScrollView) getView().findViewById(R.id.horizontalScrollView);
    LinearLayout layout = (LinearLayout) getView().findViewById(R.id.linearLayout);

    for(int i = 0; i < news.size(); i ++)
    {
        News newsItem = news.get(i);
        TextView head = new TextView(this.getActivity());
        head.setText(newsItem.getHead());
        head.setId(100+i);
        layout.addView(head);
    }
}

XML 如下所示:

<HorizontalScrollView
        android:layout_width="fill_parent"
        android:layout_height="150dp"
        android:id="@+id/horizontalScrollView" android:layout_gravity="center"
        >
    <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" android:id="@+id/linearLayout">
    </LinearLayout>
</HorizontalScrollView>

可能值得注意的是,我在片段中执行此操作..

4

1 回答 1

4

您只能将单个子布局添加到ScrollView

在你的情况下:

  • 添加一个horizontal LinearLayout(通过将其添加到您的 LinearLayout 将方向设置为水平android:orientation="horizontal"
  • 在里面添加东西horizontal LinearLayout

事情就会水平地就位:-)

于 2012-07-17T09:37:54.307 回答