我正在动态创建LinearLayout
。我需要删除LinearLayout
事件{/ 1}}。
我的代码:
LongPress
怎么做?
答案 0 :(得分:3)
试试这个,
_parentLayout.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "Delete", Toast.LENGTH_SHORT).show();
parentLayout.removeAllViews();
return true;
}
});
答案 1 :(得分:2)
最好删除您在父级中添加的视图。 假设父布局是主布局,子布局是您要删除的布局。 你应该试试 parent_layout.removeView(child_layout);
removeAllViews() - 将删除视图中的所有视图,但不会删除主视图。
请参阅ViewGroup ViewGroup vg =(ViewGroup)(myView.getParent()); vg.removeView(MyView的);
或者,您可以将视图的可见性设置为Visible.GONE,然后在需要时将其显示。
答案 2 :(得分:0)
这适合我。
public void addTileView(View v) {
_parentLayout = (LinearLayout) findViewById(R.id.gridCont);
child = getLayoutInflater().inflate(R.layout.customtileview,null);
((TextView)child.findViewById(R.id.tileText)).setText("Tile View :"+_tileViewCount++);
_parentLayout.addView(child);
child.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "Delete", Toast.LENGTH_SHORT).show();
_parentLayout.removeView(v);
return true;
}
});
}
由于