-1

在过去的几周里,我一直在尝试设置它,但没有成功。如何将这 2 个代码块放在同一个 Java 类中?

private int entries = 6;
private String phoneNum[];
private String buttonLabels[];

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {

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

    phoneNum = new String[entries];
    buttonLabels = new String[entries];

    // Populate the data arrays
    populateArrays();

    // Set up buttons and attach click listeners

    Button button1 = (Button)findViewById(R.id.button1);
    button1.setText(buttonLabels[0]);
    button1.setOnClickListener(this);

    Button button2 = (Button)findViewById(R.id.button2);
    button2.setText(buttonLabels[1]);
    button2.setOnClickListener(this);

    Button button3 = (Button)findViewById(R.id.button3);
    button3.setText(buttonLabels[2]);
    button3.setOnClickListener(this);

    Button button4 = (Button)findViewById(R.id.button4);
    button4.setText(buttonLabels[3]);
    button4.setOnClickListener(this);

    Button button5 = (Button)findViewById(R.id.button5);
    button5.setText(buttonLabels[4]);
    button5.setOnClickListener(this);

    Button button6 = (Button)findViewById(R.id.button6);
    button6.setText(buttonLabels[5]);
    button6.setOnClickListener(this);
}

// Launch the phone dialer

public void launchDialer(String number){
    String numberToDial = "tel:"+number;
     startActivity(new Intent(Intent.ACTION_DIAL, Uri.parse(numberToDial)));
}


/** Method to populate the data arrays */

public void populateArrays(){

    /** In a practical application the arrays phoneNum and buttonLabels could be 
     * updated dynamically from the Web in this method.  For this project we just 
     * hard-wire in some values to illustrate how to use such data, once obtained,
     * to make phone calls.*/

    phoneNum[0] = "000-000-0001";
    phoneNum[1] = "000-000-0002";
    phoneNum[2] = "000-000-0003";
    phoneNum[3] = "000-000-0004";
    phoneNum[4] = "000-000-0005";
    phoneNum[5] = "000-000-0006";

    buttonLabels[0] = "Jane D. Arc";
    buttonLabels[1] = "John Doe";
    buttonLabels[2] = "Jane Doe";
    buttonLabels[3] = "Abe Linking";
    buttonLabels[4] = "Mona Liza";
    buttonLabels[5] = "Issac Nuton";
}

/** Process button events */

@Override
public void onClick(View v) {
    switch (v.getId()) {

        case R.id.button1:
            launchDialer(phoneNum[0]);
            break;

        case R.id.button2:
            launchDialer(phoneNum[1]);
            break;

        case R.id.button3:
            launchDialer(phoneNum[2]);
            break;

        case R.id.button4:
            launchDialer(phoneNum[3]);
            break;

        case R.id.button5:
            launchDialer(phoneNum[4]);
            break;

        case R.id.button6:
            launchDialer(phoneNum[5]);
            break;

    }
}

当我尝试覆盖onStart()时,应用程序崩溃。

public void onStart(){
    super.onStart();
    AdView layout = (AdView)this.findViewById(R.id.adView);
    // Initiate a generic request to load it with an ad
    AdRequest adRequest = new AdRequest();
    adRequest.setTesting(true);
    layout.loadAd(adRequest); 
} 

我知道问题是这一行:

public void onStart(){
4

1 回答 1

1

如果您只是想让 AdMob 正常工作,则不应使用 onStart。改用你的 onCreate 。

它位于添加 com.google.ads.AdView部分下的Google Admob 文档中。

如果您的 xml 中已有 AdView,则可以获取它并加载 AdRequest。如果您不这样做,文档的示例会动态添加一个。

您还需要确保调用 .destroy(); 在视图上,因此您需要覆盖 onDestroy 函数。这一切都在文档的示例中。

于 2012-07-17T17:42:15.517 回答