为什么我会“onCreate(Bundle)已定义”?

时间:2015-02-28 20:46:51

标签: java android signature method-signature method-names

我试图生成几个打开不同链接的按钮,但是通过复制文件我得到一条错误,说明已经定义了onCreate(Bundle)?是因为我有两个protected void onCreate(Bundle savedInstanceState) {还是什么?请添加说明问题以及可能的答案。

package saintbedeslytham.saintbedes;

import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;


public class news extends ActionBarActivity {

Button button1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_news);

        button1 = (Button) findViewById(R.id.button1);

        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Intent NameOfTheIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.st-bedes-high.lancsngfl.ac.uk/getfile.php?src=742/Christmas+Newsletter+2014.pdf"));
                startActivity(NameOfTheIntent);
            }
        });
    }

Button button2;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_news);

        button1 = (Button)findViewById(R.id.button2);

        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Intent NameOfTheIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.st-bedes-high.lancsngfl.ac.uk/getfile.php?src=742/Christmas+Newsletter+2014.pdf"));
                startActivity(NameOfTheIntent);
            }});
    }}

1 个答案:

答案 0 :(得分:2)

您已经定义了两次相同的方法onCreate()。在Java中,两个方法不能具有相同的名称和相同的参数列表。如果您愿意,可以将第二种方法命名为

public void onCreate2(Bundle savedInstanceState){}

或类似的东西。