我在 for 循环中添加了TableRows
两个TableLayout
。在每个第一个TableRow
都有 6TextViews
和 1 ImageView
& 1 切换按钮。我OnClickListener
在first row
& 切换按钮中添加了一个。我的问题是在onclick
方法中First Row
,我应该如何获取该特定选定行的行 ID?
有人能帮我吗?
请帮助我......
我想获取特定选定行的行 ID......
LZ有人回复我....
我在 for 循环中添加了TableRows
两个TableLayout
。在每个第一个TableRow
都有 6TextViews
和 1 ImageView
& 1 切换按钮。我OnClickListener
在first row
& 切换按钮中添加了一个。我的问题是在onclick
方法中First Row
,我应该如何获取该特定选定行的行 ID?
有人能帮我吗?
请帮助我......
我想获取特定选定行的行 ID......
LZ有人回复我....
View
像这样在层次结构中导航ImageView
OnCLickListener
:
imageView.setOnClickListener(new OnClickListener() {
public void onCLick(View v) {
// v represents the view that was clicked(the ImageView)
// if the ImageView is added directly to the TableRow then you could simply do
TableRow tr = (TableRow) v.getParent(); // if the ImageView isn't a direct child of the TableRow then walk through all the parent with getParent().
// do stuff
}
});
编辑 :
您的代码没有帮助,通过查看您在做什么,我建议您从一些更简单的东西开始了解 android。此外,tabLayout.addView(openedRow1, n_D);
不会向opensRow1 View
添加标签(如果这是您想要做的),它只是将其定位到父级View
中的特定位置(就像0
是父级的第一个子级)。
我猜你是在点击它的父级时试图从第二个TextView
(tv_vin_val ?!?!)获取文本。如果这就是你想要做的,那么试试这样的事情:
public void onClick(View v) {
// you set the listener on the TableRow so v is the TableRow that was clicked
TableRow lTableRow = ((TableRow) v);
// to get the TextView use getChildAt or findViewById
TextView lTextView = (TextView)lTableRow.getChildAt(1);
//get the text from the TextView
vinNum = lTextView.getText().toString();
// the tag
int theTag = (Integer) v.getTag();
Intent intent = new Intent(DeliveryInspectionActivity.this, ExceptionsActivity.class);
//intent.putExtra("row id value", theTag);
startActivityForResult(intent, 0);
}
我不确定您将如何获得正确的行号,但我建议改为使用getParent()
方法View
来获取对TableRow
包含图像的引用并直接从中工作。像这样的东西:
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TableRow row = (TableRow)v.getParent();
//handle your stuff here
}
});