在长按事件中删除LinearLayout

时间:2013-09-25 05:58:10

标签: android android-linearlayout

我正在动态创建LinearLayout。我需要删除LinearLayout事件{/ 1}}。

我的代码:

LongPress

怎么做?

3 个答案:

答案 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;
        }
    });



}

由于