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

如何在android中将TextView转换为EditText?,android,Android,我想在android中的按钮点击事件中将TextView转换为编辑文本,反之亦然。我不知道如何实现这一点,如果有人知道解决方案,请帮助 问候,, Rajapandian.K也许你可以拥有其中一个并切换它们的可见性。单击按钮时,获取可见按钮的文本,将其应用于不可见按钮,然后交换其可见性。您可以在布局中同时显示这两个按钮,并且始终只显示其中一个按钮。当EditText值更改时,更新隐藏的TextView以保持同步。我从未尝试过,但您可以(可能)使用EditText并将背景设置为TextView的背景

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

问候,,
Rajapandian.K

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

您可以在布局中同时显示这两个按钮,并且始终只显示其中一个按钮。当EditText值更改时,更新隐藏的TextView以保持同步。

我从未尝试过,但您可以(可能)使用EditText并将背景设置为TextView的背景。然后,
onfocus
change您可以根据您在任何给定时刻想要看到的内容简单地交换背景。我将尝试实现它,看看使用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>
...

我认为最好的方法是实际使用Framelayout概念

这样原始布局看起来像

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
.
.
.
</Linearlayout>

.
.
.
像这样将其放置在Framelayout中

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
.
.
.
</Linearlayout>

<!-- The Magic is here -->
<View

    android:layout_width="match_parent"
    android:layout_height="match_parent"
/>



</FrameLayout>

.
.
.
在这里,LinearLayout将保存所有EditText视图。 还要记住将EditText视图的背景设置为空

像这样

<EditText 
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:id="@+id/editInp"
        android:hint="@string/hello_world"
        android:background="@null"
        android:singleLine="true"
        android:inputType="textCapWords"/>



@MarvinLabs:+1,他跑得更快;)老实说,我认为在所有这些答案中,这个答案是最好的。这就简单多了。我很好奇。什么时候使用?我读了文件,上面写着关于动画类的东西。但在这种情况下,使用它是有意义的。那么,在这种情况下不使用它有什么理由吗?视图切换器工作得很好,您可以选择轻松添加动画。很好,但是在
switcher
declarationI中添加额外的空间我看到您使用了android:onClick=“TextViewClicked”,然而,当我使用片段时,它搜索该片段的活动,因此没有找到该方法。如何修复此问题,使其从片段而不是父活动中找到方法?@joneswah可能会引起您的兴趣。
<EditText 
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:id="@+id/editInp"
        android:hint="@string/hello_world"
        android:background="@null"
        android:singleLine="true"
        android:inputType="textCapWords"/>
<EditText 
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:id="@+id/editInp"
        android:hint="@string/hello_world"
        android:background="@android:drawable/transparent"
        android:singleLine="true"
        android:inputType="textCapWords"/>