Java 获取动态添加的视图的ID
如何获取动态添加视图的id 我想在按钮单击中将按钮添加到Java 获取动态添加的视图的ID,java,android,android-tablelayout,horizontalscrollview,Java,Android,Android Tablelayout,Horizontalscrollview,如何获取动态添加视图的id 我想在按钮单击中将按钮添加到水平滚动视图,但将其限制为三行或四行,然后它将为另外三行或四行重复创建新的表格布局,如下所示- 我怎样才能做到这一点 下面是我的代码: public void addNewButton(int ids, TableLayout table){ Button btn = new Button(challengemode.this); btn.setId(ids); btn.setText(String.valueOf
水平滚动视图
,但将其限制为三行或四行,然后它将为另外三行或四行重复创建新的表格布局
,如下所示-
我怎样才能做到这一点
下面是我的代码:
public void addNewButton(int ids, TableLayout table){
Button btn = new Button(challengemode.this);
btn.setId(ids);
btn.setText(String.valueOf("btn" + ids));
btn.setLayoutParams(new TableLayout.LayoutParams(TableLayout.LayoutParams.WRAP_CONTENT,TableLayout.LayoutParams.WRAP_CONTENT));
table.addView(btn);
horizontalScrollView.removeAllViews();
horizontalScrollView.addView(table);
}
这是XML
<HorizontalScrollView
android:id="@+id/horizontalScrollViewGCode"
android:layout_width="125pt"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:background="@color/colorPrimaryDark">
<!--TABLE LAYOUT 1-->
<TableLayout
android:id="@+id/tblLayout1"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:stretchColumns="*"
android:fillViewport="true"
android:orientation="vertical">
</TableLayout>
</HorizontalScrollView>
您可以使用API 17或更高版本的方法为您的视图生成唯一ID,也可以使用最低版本的Android。 只需修改代码即可
public void addNewButton(int ids, TableLayout table){
Button btn = new Button(challengemode.this);
btn.setId(ViewIdGenerator.generateViewId());
btn.setText(String.valueOf("btn" + ids));
btn.setLayoutParams(new TableLayout.LayoutParams(TableLayout.LayoutParams.WRAP_CONTENT,TableLayout.LayoutParams.WRAP_CONTENT));
table.addView(btn);
horizontalScrollView.removeAllViews();
horizontalScrollView.addView(table);
}
添加时只需使用
按钮。设置标签(位置)
检索时
按钮。getTag(位置) 你为什么需要身份证?你不能在添加按钮时添加Click listener吗?@Chito Monte请清楚地解释你的问题是什么,比如“我想做xxx,但我获得yyy”你可以添加Click listener。如果要确定哪个索引按钮,可以在创建按钮时向按钮添加标记;btn.setId(id);