自定义按钮示例不起作用

时间:2011-04-01 10:38:50

标签: android

我是Android应用程序开发的新手。 我正在使用http://developer.android.com/resources/tutorials/views/hello-formstuff.html上给出的Form Stuff示例。在这里我使用了自定义按钮示例。

我的代码如下:

    package com.example.helloformstuff;

    import android.app.Activity;
    import android.content.DialogInterface.OnClickListener;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.Toast;

    public class HelloFormStuff extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        final Button button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                // Perform action on clicks
                Toast.makeText(HelloFormStuff.this, "Beep Bop", Toast.LENGTH_SHORT).show();
            }
        });    

    }
   }

显示以下错误:

The type new DialogInterface.OnClickListener(){} must implement the inherited 
     abstract method DialogInterface.OnClickListener.onClick(DialogInterface, int)
    - The method setOnClickListener(View.OnClickListener) in the type View is not 
     applicable for the arguments (new DialogInterface.OnClickListener(){})

我无法找出导致此类错误的原因。

请帮我解决这个问题。

由于

的Pankaj

3 个答案:

答案 0 :(得分:3)

您使用的是错误的OnClickListener。请改用此代码:

   button.setOnClickListener(new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            // Perform action on clicks
            Toast.makeText(HelloFormStuff.this, "Beep Bop", Toast.LENGTH_SHORT).show();
        }
    });   

答案 1 :(得分:1)

您正在实现错误的OnClickListener。尝试View.OnClickListener:

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

答案 2 :(得分:1)

替换导入android.content.DialogInterface.OnClickListener

导入android.view.View.OnClickListener

其余代码保持不变将完美执行代码。