动态获取行在 android table 布局中的位置
Dynamically get position of row in android table layout
我有一个 table 动态填充数据的布局
table 包含 4 列,3 列是文本视图,1 列是图像按钮
<TableLayout
android:id="@+id/tablePicklist"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:stretchColumns="*">
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="code"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="desc"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="barcode"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="action"/>
</TableRow>
</TableLayout>
单击图像按钮后,我想获取 table 行的位置以访问行数据
我也不想为按钮设置 id,因为行将动态删除
我试图通过视图 ID 获取行 ID 但它 returns 1
ImageButton imgBtn = new ImageButton(context);
imgBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.e("table row", view.getId());
}
});
同样通过尝试 table 行,returns -1
ImageButton imgBtn = new ImageButton(context);
imgBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
TableRow tr = (TableRow) view.getParent();
Log.e("table row", tr.getId());
}
});
我认为这与 table 布局有关但不确定
谢谢
想通了。
从
得到解决方案
ImageButton imgBtn = new ImageButton(context);
imgBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
TableRow tr = (TableRow) view.getParent();
int index = tableLayout.indexOfChild(row);
}
});
我有一个 table 动态填充数据的布局 table 包含 4 列,3 列是文本视图,1 列是图像按钮
<TableLayout
android:id="@+id/tablePicklist"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:stretchColumns="*">
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="code"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="desc"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="barcode"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="action"/>
</TableRow>
</TableLayout>
单击图像按钮后,我想获取 table 行的位置以访问行数据 我也不想为按钮设置 id,因为行将动态删除
我试图通过视图 ID 获取行 ID 但它 returns 1
ImageButton imgBtn = new ImageButton(context);
imgBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.e("table row", view.getId());
}
});
同样通过尝试 table 行,returns -1
ImageButton imgBtn = new ImageButton(context);
imgBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
TableRow tr = (TableRow) view.getParent();
Log.e("table row", tr.getId());
}
});
我认为这与 table 布局有关但不确定
谢谢
想通了。
从
得到解决方案ImageButton imgBtn = new ImageButton(context);
imgBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
TableRow tr = (TableRow) view.getParent();
int index = tableLayout.indexOfChild(row);
}
});