使用setText将EditText设置为空。

3

我搜索了如何清除EditText框中的内容,并找到了许多结果,它们都意见一致。我使用以下代码为该框创建了一个变量:

final EditText fn = (EditText) findViewById(R.id.editText1);

然后我这样使用setText:

fn = setText("");

然而,当我在安装了所有插件和SDK的Eclipse中实现此代码时,我遇到了错误:“对于新的View.OnClickListener()类型,setText(String)方法未定义”。

我做错了什么?是否有一些其他帖子中没有提到的步骤我漏掉了?


5
如果你真的想学习Android,建议搜索教程并按照教程进行操作。在代码中,应该使用fn.setText("");而不是fn = setText("");,并且保持原来的含义,同时让表达更加通俗易懂。 - undefined
好像应该可以工作,但它给我同样的错误... - undefined
请将以下与编程相关的内容从英文翻译成中文。只返回翻译后的文本:不要给出错误,将您的完整代码发布在这里。 - undefined
现在不是了。奇怪。但谢谢你! - undefined
是的,出错了,因为你以错误的方式进行操作。 - undefined
使用 fn.setText(null); 代替 fn.setText(""); - undefined
2个回答

2
为了完整起见:
此部分:
final EditText fn = (EditText) findViewById(R.id.editText1);

只有在当前运行的Activity布局文件中包含一个id为“editText1”的EditText声明时,才是正确的。下面是一个包含此类布局文件的示例,该布局文件名为“my_layout”

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

    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
</LinearLayout>

在您的Activity中,您需要在onCreate方法中调用此方法,将上述布局文件设置为您的Activity的布局文件:
public abstract class MyActivity extends Activity {

   @Override
   protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
         setContentView(R.layout.my_layout);
   }

给定以上内容,您现在可以重置EditText中的文本(称为“fn”-请参见第一个代码片段):
fn.setText("");

您遇到的错误是说OnClickListener中不存在setText方法,这可能是因为您试图在该OnClickListener中调用setText("")。正如错误消息所解释的那样:OnClickListener不知道setText方法 - 只有EditText知道它,因此您需要在EditText的引用上调用setText("")。

1

看起来你正在调用setText方法并且这个调用在一个Listener的代码中。"settext" = "this.settext"在这种情况下,this指向该监听器。尝试调用:

MyClassInWhichAllThisCodeIs.this.getThatEditTextRefference().setText("").

我问了一个非常清晰和客观的问题!现在没有任何不涉及清洁架构的工作了。而且他们都制作的应用程序太糟糕了,客户们开始提起诉讼。 - undefined
你问题中唯一客观的部分是资源请求,而这又是一个明确的离题主题。很抱歉,我们的关闭系统不擅长列举帖子中的所有问题。请尝试提出一个符合所有规则的问题。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接