MainActivity类型中的复制方法onCreate(Bundle) - admob

时间:2017-01-21 18:30:22

标签: android

发现同样的问题,但没有得到答案,但再次..

我试图添加,admob到我的MainActivity.java文件,但我得到“类型MainActivity中的重复方法onCreate(Bundle)”错误。我是新编码,善意的人指导我如何解决它以及如何解决错误,我尝试过改变

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

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

但它不起作用。

package xxxxxx.xxxxxxx.xxxxxx.com;

import java.io.File;


import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.MobileAds;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;

import android.annotation.SuppressLint;
import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.FragmentTransaction;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;


public class MainActivity extends FragmentActivity implements
ActionBar.TabListener {

    private AdView mAdView;

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

        MobileAds.initialize(this, "ca-app-pub-xxxxxxxxxxx/xxxxxxxxxxxx");

        mAdView = (AdView) findViewById(R.id.ad_View);


        AdRequest adRequest = new AdRequest.Builder()
                .build();

        mAdView.loadAd(adRequest);

    }



boolean firstResume = true;



private ViewPager viewPager;
private TabsAdapter mAdapter;
private ActionBar actionBar;
Handler handler1 = new Handler();
private Context context;
private int i = 0;
private boolean exitAds = false;



private String[] tabs = { "Account", "Downloads" };

@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

context = this;
String mBaseFolderPath = android.os.Environment
        .getExternalStorageDirectory()
        + File.separator
        + "Videos2" + File.separator;
if (!new File(mBaseFolderPath).exists()) {
    new File(mBaseFolderPath).mkdir();
}

// Initilization
viewPager = (ViewPager) findViewById(R.id.pager);
actionBar = getActionBar();
mAdapter = new TabsAdapter(getSupportFragmentManager());

viewPager.setAdapter(mAdapter);
actionBar.setHomeButtonEnabled(false);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

// Adding Tabs
for (String tab_name : tabs) {
    actionBar.addTab(actionBar.newTab().setText(tab_name)
            .setTabListener(this));
}

/**
 * on swiping the viewpager make respective tab selected
 * */
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

    @Override
    public void onPageSelected(int position) {
        // on changing the page
        // make respected tab selected
        actionBar.setSelectedNavigationItem(position);
    }

    @Override
    public void onPageScrolled(int arg0, float arg1, int arg2) {
    }

    @Override
    public void onPageScrollStateChanged(int arg0) {
    }
});

}

@Override
protected void onResume() {
super.onResume();
if (!firstResume) {

} else {
    firstResume = false;
}
}

@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
}

@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// on tab selected
// show respected fragment view
viewPager.setCurrentItem(tab.getPosition());
if (tab.getPosition() == 1) {
    Log.e("UPDATED", "DOWNLOADS SELECTED");
    final DownloadsFragment fragment = ((DownloadsFragment) getSupportFragmentManager()
            .findFragmentByTag("android:switcher:" + R.id.pager + ":1"));
    fragment.updateDownloads();

    // if (i == 0) {
    // i++;
    // } else if (i > 0) {
    // }

} // else
    // displayInterstitial();
}

@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_share) {
    // create the send intent
    Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);

    // set the type
    shareIntent.setType("text/plain");

    // add a subject
    shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,
            "Share App with Friends");

    // build the body of the message to be shared
    String shareMessage = " Download from any of the links below \n"
            + "market://details?id=xxxxxxx.xxxxxxxxxxx.xxxxxx \n"
            + "https://play.google.com/store/apps/details?id=xxxxxx.comxxxxxxx.xxx";

    // add the message
    shareIntent.putExtra(android.content.Intent.EXTRA_TEXT,
            shareMessage);

    // start the chooser for sharing
    startActivity(Intent.createChooser(shareIntent, "Share App"));
    return true;
}
if (id == R.id.action_rate) {

    Uri uri = Uri.parse("market://details?id="
            + context.getPackageName());
    Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri);
    goToMarket.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY
            | Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET
            | Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
    try {
        startActivity(goToMarket);
    } catch (ActivityNotFoundException e) {
        startActivity(new Intent(
                Intent.ACTION_VIEW,
                Uri.parse("http://play.google.com/store/apps/details?id="
                        + context.getPackageName())));
    }
    return true;

}
if (id == R.id.action_exit) {
    System.exit(0);
    this.finish();
}
return super.onOptionsItemSelected(item);

}

@Override
public void onBackPressed() {

super.onBackPressed();
finish();

}

}

1 个答案:

答案 0 :(得分:0)

正如评论中已经提到的,您只能使用一个onCreate()方法。只需将代码合并到一个方法中即可。

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

    MobileAds.initialize(this, "ca-app-pub-xxxxxxxxxxx/xxxxxxxxxxxx");

    mAdView = (AdView) findViewById(R.id.ad_View);


    AdRequest adRequest = new AdRequest.Builder()
        .build();

    mAdView.loadAd(adRequest);

    context = this;
    String mBaseFolderPath = android.os.Environment
        .getExternalStorageDirectory() +
        File.separator +
        "Videos2" + File.separator;
    if (!new File(mBaseFolderPath).exists()) {
        new File(mBaseFolderPath).mkdir();
    }

    //                                    Initilization
    viewPager = (ViewPager) findViewById(R.id.pager);
    actionBar = getActionBar();
    0
    mAdapter = new TabsAdapter(getSupportFragmentManager());

    viewPager.setAdapter(mAdapter);
    actionBar.setHomeButtonEnabled(false);
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    //                                    Adding Tabs
    for (String tab_name: tabs) {
        actionBar.addTab(actionBar.newTab().setText(tab_name)
            .setTabListener(this));
    }

    /**
     * on swiping the viewpager make respective tab selected
     * */
    viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

        @Override
        public void onPageSelected(int position) {
            // on changing the page
            // make respected tab selected
            actionBar.setSelectedNavigationItem(position);
        }

        @Override
        public void onPageScrolled(int arg0, float arg1, int arg2) {}

        @Override
        public void onPageScrollStateChanged(int arg0) {}
    });

}