簡體   English   中英

已經定義“ onCreate(捆綁保存的InstanceState)”

[英]“onCreate(Bundle savedInstanceState)” is already defined

我正在嘗試使自己成為一個使用webview捕獲一個活動中的頁面的應用程序,但是我想創建一個新活動,我可以通過按一個按鈕來完成該活動,但這阻止了我:

public class MainActivity extends AppCompatActivity {
    @Override
    public void onBackPressed() {
        Intent intent = new Intent(MainActivity.this, MainActivity.class);
        startActivity(intent);
    }

    public void sendMessage(View view) {
        Intent intent = new Intent(MainActivity.this, Main2Activity.class);
        startActivity(intent);
    }
    Button button;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

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

        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View arg0) {

                Intent myIntent = new Intent(MainActivity.this,
                        Main2Activity.class);
                startActivity(myIntent);
            }
        });
    }

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        WebView myWebView = (WebView) findViewById(R.id.webView);
        myWebView.loadUrl("http://usreport.net/");
        myWebView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
                view.loadUrl(request.toString());
                return true;
            }
        });
    }
}

如果您能幫助我,我將不勝感激。 我對這一切都非常陌生

您有重復的onCreate()聲明。 您需要將它們結合起來,使之類似:

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

    WebView myWebView = (WebView) findViewById(R.id.webView);
    myWebView.loadUrl("http://usreport.net/");
    myWebView.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
            view.loadUrl(request.toString());
            return true;
        }
    });

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

    button.setOnClickListener(new View.OnClickListener() {
        public void onClick(View arg0) {

            Intent myIntent = new Intent(MainActivity.this,
                    Main2Activity.class);
            startActivity(myIntent);
        }
    });
}

您需要學習閱讀錯誤並評估實際問題。 在開始進行編碼時,事情可能看起來很復雜,但是我建議您在進入Android開發之前先了解一下Java的基礎知識。 相信我,它將最終為您節省很多時間。

我建議使用@Kamran提到的相同Edit。 但我想在這里補充一點。 為什么每當按下后退按鈕時都必須進入同一活動?

@Override
public void onBackPressed() {
    Intent intent = new Intent(MainActivity.this, MainActivity.class);
    startActivity(intent);
}

如果您想一直保持相同的活動,只需執行此操作

@Override
public void onBackPressed() {
    //Do nothing. AND DON'T CALL THE SUPER METHOD.
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM