在 android studio 中单击按钮即可删除一行表格布局
remove a row of a tablelayout at a click of a button in android studio
我有这样的代码,可以通过单击按钮删除视图:
onClick = new View.OnClickListener() {
@Override
public void onClick(View v) {
((LinearLayout)v.getParent()).removeView(v);
}
};
然后我使用这个命令来设置点击时的动作:
button.setOnClickListener( onClick );
问题是我想在点击时删除一行TableLayout,
不是按钮。我该怎么做?
使用下面的代码,
onClick = new View.OnClickListener() {
@Override
public void onClick(View v) {
View row = (View) v.getParent();
ViewGroup container = ((ViewGroup)row.getParent());
container.removeView(row);
container.invalidate();
}
};
您正在寻找正确的方向,但还不完全正确。
onClick(View v)
是点击按钮时调用的方法,参数v
是被点击的视图。在这种情况下,按钮。所以,当说 removeView(v);
时,你说的是 "Remove the view that just got clicked"
。
您要做的是:
- 找到您的 TableRow 视图。 (给它一个 ID,然后使用 findViewByID(R.id.yourID) 找到它。)
- 获取 table 行的父项(您已经通过执行
((LinearLayout)v.getParent())
为按钮执行此操作,因此您可以调整它并再次使用它)
- 调用父级的
removeView(View v)
方法,将您在步骤 1 中找到的 TableRow 视图作为参数。
我建议您先尝试自己实施。实在想不通的话可以留言,我会补上代码示例
我有这样的代码,可以通过单击按钮删除视图:
onClick = new View.OnClickListener() {
@Override
public void onClick(View v) {
((LinearLayout)v.getParent()).removeView(v);
}
};
然后我使用这个命令来设置点击时的动作:
button.setOnClickListener( onClick );
问题是我想在点击时删除一行TableLayout, 不是按钮。我该怎么做?
使用下面的代码,
onClick = new View.OnClickListener() {
@Override
public void onClick(View v) {
View row = (View) v.getParent();
ViewGroup container = ((ViewGroup)row.getParent());
container.removeView(row);
container.invalidate();
}
};
您正在寻找正确的方向,但还不完全正确。
onClick(View v)
是点击按钮时调用的方法,参数v
是被点击的视图。在这种情况下,按钮。所以,当说 removeView(v);
时,你说的是 "Remove the view that just got clicked"
。
您要做的是:
- 找到您的 TableRow 视图。 (给它一个 ID,然后使用 findViewByID(R.id.yourID) 找到它。)
- 获取 table 行的父项(您已经通过执行
((LinearLayout)v.getParent())
为按钮执行此操作,因此您可以调整它并再次使用它) - 调用父级的
removeView(View v)
方法,将您在步骤 1 中找到的 TableRow 视图作为参数。
我建议您先尝试自己实施。实在想不通的话可以留言,我会补上代码示例