Android 谷歌安卓系统的Java错误;HelloFormStuff“;辅导的

Android 谷歌安卓系统的Java错误;HelloFormStuff“;辅导的,android,Android,我是java新手。我按照上的教程添加了一个按钮和OnClick处理程序,方法是将教程代码复制到我的代码中: public class FormStuff extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInst

我是java新手。我按照上的教程添加了一个按钮和OnClick处理程序,方法是将教程代码复制到我的代码中:

public class FormStuff extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        final ImageButton button = (ImageButton) findViewById(R.id.android_button);
        button.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                // Perform action on clicks
                Toast.makeText(FormStuff.this, "Beep Bop", Toast.LENGTH_SHORT).show();
            }
        });
        }
}
在Eclipse中,这会产生两个错误

Description Resource    Path    Location    Type
The method setOnClickListener(View.OnClickListener) in the type View is not applicable for the arguments (new DialogInterface.OnClickListener(){})  FormStuff.java  /FormStuffExample/src/com/example/formstuffexample  line 17 Java Problem
The type new DialogInterface.OnClickListener(){} must implement the inherited abstract method DialogInterface.OnClickListener.onClick(DialogInterface, int) FormStuff.java  /FormStuffExample/src/com/example/formstuffexample  line 17 Java Problem

我做错了什么?谢谢

完全基于错误消息

您(隐式地)使用了错误的
OnClickListener
接口/类。看起来有两个,View.OnClickListener和DialogInterface.OnClickListener

button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                // Perform action on clicks
                Toast.makeText(FormStuff.this, "Beep Bop", Toast.LENGTH_SHORT).show();
            }
        });
解决方案是完全限定您的annonymous OnClickListener

button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                // Perform action on clicks
                Toast.makeText(FormStuff.this, "Beep Bop", Toast.LENGTH_SHORT).show();
            }
        });

谢谢你,凯文。按照你的建议,我也改正了我的错误。Eclipse提供了太多的提示,像我这样的新手不知道我应该选择什么。后来,我找到了另一个解决办法。如果在点击O时Eclipse无法导入所需的,则应手动添加它:

import android.view.View.OnClickListener;

+1让Eclipse解析/修复您的导入的缺点之一(您对此很随意):+1-太棒了。我在学习教程时也遇到了这个错误。只是添加了这一行就解决了这个问题。谢谢