动态地向ScrollView添加内容

时间:2014-11-17 16:30:38

标签: android

我的活动中有以下布局

<HorizontalScrollView
        android:id="@+id/horizontalScrollView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/topHeading"
        android:layout_centerHorizontal="true"
        android:layout_gravity="center_horizontal|center_vertical">

        <LinearLayout
            android:id="@+id/scrollViewlinearlayout"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:gravity="center"
            android:orientation="horizontal">
            <!--
             Content will be dynamically added to this portion.
            -->
        </LinearLayout>

    </HorizontalScrollView>

在我的活动代码中,我给视图充气并添加到上面的布局

    LinearLayout scrollViewLinearLayout=(LinearLayout)root.findViewById(R.id.scrollViewlinearlayout);
    for(int i=0;i<10;i++){
            View view =inflater.inflate(R.layout.lesson_row,null,false);
            Button b1=(Button) view.findViewById(R.id.button);
            b1.setOnClickListener(this);
            scrollViewLinearLayout.addView(view);
    }

现在这很好用。我的滚动视图布局中有10个布局。现在R.layout.lesson_row包含我想要点击的按钮。我可以轻松地在按钮上添加一个点击监听器,但是点击了10个布局中的哪个按钮?

1 个答案:

答案 0 :(得分:0)

将ID或标记与您正在创建的Button个实例相关联,以便您可以区分它们。

或者,将Button实例放在HashMap<Button, ThingTiedToButtonGoesHere>或其他Java数据结构中,这样您就可以在运行时进行查找。