如何在android中将TextView转换为EditText?

Raj*_*ian 32 android

我想在Android中的按钮单击事件中将TextView转换为编辑文本,反之亦然.我不知道如何实现这一点,如果有人知道解决方案,请帮忙.

此致,Rajapandian.K

jon*_*wah 74

最好使用ViewSwitcher

...
    <ViewSwitcher
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/my_switcher"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <TextView
            android:id="@+id/clickable_text_view"
            android:clickable="true"
            android:onClick="TextViewClicked"
            android:text="@string/some_value" />

        <EditText
            android:id="@+id/hidden_edit_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/some_value" />
    </ViewSwitcher>
...
Run Code Online (Sandbox Code Playgroud)

然后你可以通过切换视图

public void TextViewClicked() {
    ViewSwitcher switcher = (ViewSwitcher) findViewById(R.id.my_switcher);
    switcher.showNext(); //or switcher.showPrevious();
    TextView myTV = (TextView) switcher.findViewById(R.id.clickable_text_view);
    myTV.setText("value");
}
Run Code Online (Sandbox Code Playgroud)


Ric*_*ich 11

也许你可以拥有其中一个,并切换他们的知名度.单击该按钮时,获取可见文本,将其应用于不可见的文本,然后交换其可见性.

  • @MarvinLabs:+1,他更快;) (3认同)

Vin*_*rat 5

您可以同时在布局中显示它们,并且始终只显示其中之一。当EditText值更改时,更新隐藏的TextView以使其保持同步。

  • @Rich:好的,你更快:-) (2认同)