Android 单击按钮后如何删除textview和edittext?

Android 单击按钮后如何删除textview和edittext?,android,android-linearlayout,Android,Android Linearlayout,因为我有一个添加按钮,我可以添加一个文本视图和编辑文本。现在我的问题是,我想问一下,单击按钮后如何删除textview和edittext?删除textview和edittext的按钮名为“button removeStaff” 这是我的密码: _12_EventAssign.java public class _12_EventAssign extends AppCompatActivity { LinearLayout linearL; View lineview; Button addS

因为我有一个添加按钮,我可以添加一个文本视图和编辑文本。现在我的问题是,我想问一下,单击按钮后如何删除textview和edittext?删除textview和edittext的按钮名为“button removeStaff”

这是我的密码:

_12_EventAssign.java

public class _12_EventAssign extends AppCompatActivity {

LinearLayout linearL;
View lineview;

Button addStaff;
Button removeStaff;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity__12__event_assign);

    getSupportActionBar().setTitle("Add Event: Information");

   getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    linearL = (LinearLayout)findViewById(R.id.add_staff);
    lineview = findViewById(R.id.view1);
    removeStaff = (Button)findViewById(R.id.btnaremovetaff);
    removeStaff.setEnabled(false);


    addStaff = (Button)findViewById(R.id.btnaddstaff);
    addStaff.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            removeStaff.setEnabled(true);

             LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 100);
             LinearLayout.LayoutParams params1 = new LinearLayout.LayoutParams(dpToPx(300), dpToPx(40));

            TextView tv = new TextView(getApplicationContext());
            EditText ed = new EditText(getApplicationContext());

            params.setMargins(55, 25, 0, 0);
            tv.setText("Department");
            tv.setTextSize(25);
            tv.setTextColor(Color.BLACK);
            linearL.addView(tv, params);
            tv.setLayoutParams(params);


            params1.setMargins(dpToPx(35), dpToPx(7), 0, 0);


       ed.setBackgroundColor(getResources().getColor(R.color.colorGray));
            linearL.addView(ed, params1);
            ed.setLayoutParams(params1);

        }
    });

}

public static int dpToPx(int dp)
{
    return (int) (dp * Resources.getSystem().getDisplayMetrics().density);
}
}

我希望你能帮助我。谢谢大家!

要做到这一点,您只需执行以下操作:

removeStaff.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                   tv.setVisibility(View.Gone);
                   ed.setVisibility(View.Gone);
            }
});

此代码从布局中删除电视和ed。

您有对文本视图和编辑文本的本地引用。(电视、教育)

您可以将它们作为类的字段拉入。(把它们放在按钮下面)

然后在onClick侦听器中,使用class字段设置它们。而不是本地文本视图电视=

tv = new TextView(getApplicationContext());
为removeStaff创建onClickListener

removeStaff.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        linearL.removeView(tv);
        linearL.removeView(ed);
    }
}
或者,如果可以从线性布局中删除所有内容,则可以简单地调用removeAllViews()


尝试管理textview和editText as on按钮的访问权限


removestaf.setOnClickListener(new View.OnClickListener(){@Override public void onClick(视图视图){tv.setVisibility(View.Gone);ed.setVisibility(View.Gone);})

您想在单击按钮时删除编辑文本和文本查看电视吗?是。我该怎么做?
removeStaff.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        linearL.removeView(tv);
        linearL.removeView(ed);
    }
}
removeStaff.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        linearL.removeAllViews();
    }
}