我有一个这样的代码,只需点击一下按钮即可删除视图:
onClick = new View.OnClickListener() {
@Override
public void onClick(View v) {
((LinearLayout)v.getParent()).removeView(v);
}
};
然后我使用此命令设置点击操作:
button.setOnClickListener( onClick );
问题是我想在点击时删除一行TableLayout, 不是按钮。我怎么能这样做?
答案 0 :(得分:0)
使用以下代码,
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();
}
};
答案 1 :(得分:0)
你正朝着正确的方向前进,但还没有完全朝那个方向发展。
onClick(View v)
是一种在点击按钮时调用的方法,参数 v
是被点击的视图。在这种情况下,按钮。因此,在说 removeView(v);
时,您会说 "Remove the view that just got clicked"
。
您想要做的是以下内容:
((LinearLayout)v.getParent())
已经为该按钮执行此操作,因此您可以对其进行调整并再次使用它)。removeView(View v)
方法。我建议您先尝试自己实施。如果你真的无法解决问题,只需发表评论,我就会添加一个代码示例。