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的背景设置为透明,并添加了一些其他行,这样每次键盘都不会出现。