public class TestActivity extends Activity {
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
button = (Button)this.findViewById(R.id.click);
super.onCreate(savedInstanceState);
setContentView(R.layout.main2);
//System.out.println(this.getResources().getString(R.string.button));
/*设置button的背景图(方法一)*///空指针异常?
Drawable bitmap = this.getResources().getDrawable(R.drawable.iphoneicon_033);
button.setBackgroundDrawable(bitmap);
/*设置button的背景图(方法二)*///空指针异常?
//button.setBackgroundResource(R.drawable.iphoneicon_033);
}

//测试时也报空指针
public void resOut() {
Activity activity = TestActivity.this;
//TestActivity activity = new TestActivity();//空指针异常?
System.out.println(activity.getResources().getString(R.string.button));
}
大家好,谁能告诉我,为什么三个我写“空指针异常”的地方,都是空指针,怎样解决.

解决方案 »

  1.   

    protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
               super.onCreate(savedInstanceState);
            setContentView(R.layout.main2);
            button = (Button)this.findViewById(R.id.click);        //System.out.println(this.getResources().getString(R.string.button));
            /*设置button的背景图(方法一)*///空指针异常?
            Drawable bitmap = this.getResources().getDrawable(R.drawable.iphoneicon_033);
            button.setBackgroundDrawable(bitmap);
            /*设置button的背景图(方法二)*///空指针异常?
            //button.setBackgroundResource(R.drawable.iphoneicon_033);
        }
      

  2.   

    set view 之后才能find view
      

  3.   

    顶楼上,
    button = (Button)this.findViewById(R.id.click);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main2);
    应该写成
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main2);
    button = (Button)this.findViewById(R.id.click);
    lz你这样试试看。
      

  4.   

    1L正解
    都还没有设置layout怎么就能取呢