开发者

android app force closes

开发者 https://www.devze.com 2023-04-06 07:41 出处:网络
i have this android code .I have my layout for button defined in the xml file .i want to s开发者_开发问答et the text for button here by getting it by id .but the app force closes.whats wrong ?

i have this android code .I have my layout for button defined in the xml file .i want to s开发者_开发问答et the text for button here by getting it by id .but the app force closes.whats wrong ?

  package com.action ;
  import android.app.Activity;
  import android.os.Bundle;
  import android.widget.Button;

  public class ActionActivity extends Activity {
     @Override
     public void onCreate(Bundle i){
         super.onCreate(i);
         Button button=(Button) findViewById(R.id.but);
         button.setText("Hey!!");
         setContentView(R.layout.main);
         }
}

Thnx...


You have to use setContentView(R.layout.main); before using findViewById().

If you don't do that, findViewById() will return null (since no view with that ID is in the current layout) and you will get a NullPointerException when trying to set the text on the TextView.

The correct version of onCreate() should look like this:

public void onCreate(Bundle i) {
    super.onCreate(i);

    setContentView(R.layout.main);
    Button button = (Button) findViewById(R.id.but);
    button.setText("Hey!!");
}


Put setContentView(R.layout.main) before creating the instance of Button. Like This:

    setContentView(R.layout.main);

    Button button=(Button) findViewById(R.id.but);
    button.setText("Hey!!");


you must put setContentView(R.Layout.main) before setting findViewById(R.id.but).Because it generates nullpointer Exception.

0

精彩评论

暂无评论...
验证码 换一张
取 消