我做了一个搜索,看看如何清除EditText框并找到了许多结果,都同意了。我用框创建了一个变量:
final EditText fn = (EditText) findViewById(R.id.editText1);
然后我这样使用setText:
fn = setText("");
然而,当我在eclipse中实现此代码(安装了所有插件和sdk)时,我收到错误:“方法setText(String)未定义类型new View.OnClickListener(){}”< / p>
我做错了什么?在其他帖子中是否有一些我没想到的步骤?
答案 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("").