在onclick按钮android上替换线性布局的内容

时间:2015-01-28 12:10:40

标签: android android-layout android-intent

我想用editText类型=" phone"替换具有按钮和textview的线性布局的内容。在按钮的onclick事件之后。他们位于同一页面中。

有办法吗?

4 个答案:

答案 0 :(得分:1)

使用以下代码删除所有视图。

lauout.removeAllViews();

答案 1 :(得分:0)

你必须制作两个单独的片段并使用片段事务来替换另一片段。

请参阅fragmenttransactions: http://developer.android.com/reference/android/app/FragmentTransaction.html

答案 2 :(得分:0)

我可以从您的问题中理解

1)在一个LinearLayout下有3个视图Button,TextView和EditText

像这样:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Click Button" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="My TextView " />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="phone" // with input type phone
        android:visibility="gone" />

</LinearLayout>

并且您想要删除textview并将其替换为Button Click上的Edit Text 像这样

tv=(TextView)findViewById(R.id.textView1);
et=(EditText)findViewById(R.id.editText1);
Button b=(Button)findViewById(R.id.button1);
    b.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                tv.setVisibility(View.GONE);
                et.setVisibility(View.VISIBLE);

            }
        });

答案 3 :(得分:0)

将所有三个元素放在xml_layout的布局中,并将EditText可见性设置为"gone",然后点击您提到的Button时,只需设置{{1 } Button TextView的可见度和"gone"的{​​{1}}展示次数:

EditText

单击按钮时:

"visible"