Android - 需要基本语法的帮助

时间:2012-03-21 14:59:59

标签: android

我有一些代码可以创建一个带有几个选项的基本对话框 - 如果我选择某个选项,我会收到一条消息,说明已经点击了这个 - 我知道非常基本的东西。

这是我的代码:

public方法 - public void onClick(DialogInterface对话框,int,boolean isChecked)返回一个错误,指出它必须覆盖超类方法。

谁能告诉我这个超类方法是什么?我似乎无法在任何地方找到它。 提前谢谢。

Chilun

package net.learn2develop.Dialog2;

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

public class MainActivity extends Activity {
    CharSequence[] items = { "Google", "Apple", "Microsoft" };
    boolean[] itemsChecked = new boolean [items.length];

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Button btn = (Button) findViewById(R.id.btn_dialog);
        btn.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                showDialog(0);
            }
        });
    }

    @Override
    protected Dialog onCreateDialog(int id) {
        switch (id) {
        case 0:
            return new AlertDialog.Builder(this)
            .setIcon(R.drawable.ic_launcher)
            .setTitle("This is a dialog with some simple text...")
            .setPositiveButton("OK", new
                DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {
                        // TODO Auto-generated method stub
                        Toast.makeText(getBaseContext(), "OK clicked!", Toast.LENGTH_SHORT).show();
                    }
            })
            .setNegativeButton("Cancel", new
                DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {
                        // TODO Auto-generated method stub
                        Toast.makeText(getBaseContext(), "Cancel clicked!", Toast.LENGTH_SHORT).show();
                    }
    })
    .setMultiChoiceItems(items, itemsChecked, new DialogInterface.OnMultiChoiceClickListener() {
                        @Override
                        **public void onClick(DialogInterface dialog, int which, boolean isChecked)** {
                        // TODO Auto-generated method stub
                        Toast.makeText(getBaseContext(), items[which] + (isChecked ? " checked!" : " unchecked!"), Toast.LENGTH_SHORT).show();   
                        }
                    }
        )
        .create();
        }
        return null;
    }
}

1 个答案:

答案 0 :(得分:1)

代码看起来不错。检查项目属性,看看您的项目合规性是否为1.6。右键单击您的项目 - > Properties - >在Java Compiler - >下Compiler compliance should be set to 1.6。 Java 1.5不允许在那里使用@Override注释。