使用setText将EditText设置为null

时间:2012-09-07 01:25:50

标签: android eclipse

我做了一个搜索,看看如何清除EditText框并找到了许多结果,都同意了。我用框创建了一个变量:

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

然后我这样使用setText:

fn = setText("");

然而,当我在eclipse中实现此代码(安装了所有插件和sdk)时,我收到错误:“方法setText(String)未定义类型new View.OnClickListener(){}”< / p>

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

2 个答案:

答案 0 :(得分:0)

为了完整起见:

这部分:

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 :(得分:0)

您似乎在setText的代码中调用了Listener"settext" = "this.settext",在这种情况下,这指向该听众。试着打电话:

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