多个onCreate(在一个活动下捆绑webview和按钮

时间:2013-11-12 01:33:15

标签: java android eclipse webview

我构建了一个Web应用程序,我正在制作一个包装器,将它放在应用程序商店中。我有一个主页面或应用程序的起始页面,并且提交按钮成功加载了我的webview页面,该应用程序运行良好。

我想在提交按钮上方添加一个小型webview,我可以在用户进入应用程序之前显示更新的新闻,例如新的使用条款。

我按照示例将webview加载到主页面上,并且它可以工作 - 显示内容,但是当我添加webview时,提交按钮不再起作用。

Eclipse在TOS类型中抛出错误“Duplicate Method OnCreate(Bundle)”,所以我尝试将OnCreate更改为OnStart或OnCreateView作为按钮。它从布局xml呈现,但没有功能。我确定它是一个新手语法错误,所以我刚刚发布了Tos.java代码:

 package com.packagename.android;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.webkit.WebView;
import android.content.Context;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

 public class Tos extends Activity {


    private Button button;

    public void onCreate(Bundle savedInstanceState) {
        final Context context = this;

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tos);

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

        button.setOnClickListener(new OnClickListener() {

          @Override
          public void onClick(View arg0) {
            Intent intent = new Intent(context, Mapp.class);
            startActivity(intent);
          }

        });

    }


     private WebView TermswebView;

        public void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_tos);

            WebView TermswebView = (WebView) findViewById(R.id.webView);

            TermswebView.loadUrl(someURL");

        };

    };

1 个答案:

答案 0 :(得分:2)

因此,对于每个 Activity 而不是对象,您只需要一个onCreate方法,这是您在想(我假设)您需要多个onCreate方法的地方。

所以..只需合并你拥有的两个......

 public class Tos extends Activity {

     //UI ELEMENTS
    private Button button;
    private WebView TermswebView;

    public void onCreate(Bundle savedInstanceState) {
    final Context context = this;

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_tos);
    TermswebView = (WebView) findViewById(R.id.webView);
    TermswebView.loadUrl("http://www.barglance.com/assets/tos/tos.php");


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

    button.setOnClickListener(new OnClickListener() {

      @Override
      public void onClick(View arg0) {
        Intent intent = new Intent(context, Mapp.class);
        startActivity(intent);
      }

    });

}

我希望这会有所帮助。有关活动以及onCreate实际执行的操作以及调用时间的更多信息,请参阅Android Docs - Activity