我的活动中有以下布局
<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个布局中的哪个按钮?
答案 0 :(得分:0)
将ID或标记与您正在创建的Button
个实例相关联,以便您可以区分它们。
或者,将Button
实例放在HashMap<Button, ThingTiedToButtonGoesHere>
或其他Java数据结构中,这样您就可以在运行时进行查找。