Java Android:在按钮上的文本视图中就地编辑文本单击

Java Android:在按钮上的文本视图中就地编辑文本单击,java,android,android-layout,Java,Android,Android Layout,我有一个文本视图 TextView name = (TextView) layout.findViewById(R.id.textviewid); name.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //stuff } }); 现在,当单击此文本视图时,它应该“转换”为EditText排序,我可以在其中输入新文本,并通过按Enter键完成此

我有一个文本视图

TextView name = (TextView) layout.findViewById(R.id.textviewid);
name.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
     //stuff
  }
});
现在,当单击此文本视图时,它应该“转换”为EditText排序,我可以在其中输入新文本,并通过按Enter键完成此过程

我看到了一些选项,其中另一个EditText提供了新文本,或者添加了一个静态文本

然而,在我的情况下,我不希望出现任何其他弹出窗口或新视图

我只想将新文本设置到位,就像EditText一样,而不需要EditText的常量文本框


这可能吗?如果可能,如何实现?

您可以扩展de
EditText
类,覆盖
getView
方法以显示为
TextView
。这样,您将拥有一个
编辑文本
,用户会认为它实际上是一个
文本视图
。但是,我不建议这样做,因为视图会产生误导,用户不会知道
TextView
是可编辑的。

如果要删除可编辑的文本框,只需使用此属性设置编辑框的样式

android:background="@android:color/transparent"
如果要编辑文本视图,可以使用以下属性

android:editable="true"
在实际代码中,TextView和EditText实际上是相同的。
编辑文本只是一个添加了内容的文本视图。

你能发布一个你想要的图像吗,从到。@Rod_Algonquin我找不到一个描述我想要的图像,但也许我可以用另一种方式解释:想象一下这个问题的标题是文本视图。现在,当用鼠标单击此文本视图时,它将转换为一个文本框,可以读取用户输入,就像一个注释框一样。现在,当按Enter键(或在本例中单击add comment)时,标题将更改为插入的用户输入。只需创建一个EditText字段,开始时将其隐藏。开始时显示文本视图。当用户触摸文本时,抓取文本,隐藏文本视图并显示edittext视图。当用户触摸文本视图时,edittext如何显示?edittext是否可能出现在textview曾经所在的同一区域?否则,您将如何执行?可能是您想要执行的方式,但添加一个
按钮
以像铅笔一样开始编辑
textview
旁边的任何内容。单击该按钮将使
TextView
可编辑。如果
TextView
editable
状态更改为true,它会显示为
EditText
?还有一个好主意。不,而是将这个
android:background=“@android:color/transparent”
添加到
EditText
中,使其看起来像
TextView
@JavierEnríquez编辑文本的默认背景是什么,编辑完成后恢复更改?我采用了这个解决方案。我将edittext的背景设置为透明,并添加了一些其他行,这样每次键盘都不会出现。