2011-12-28 4 views
1

なぜですかmainB_newsオールウェイズnull? (メソッドonBackPressed()onCreate私はボタンに値を設定しました! :(Null PointerExeptionすべての時間?

PS:!それは解像度/レイアウト/ main.xmlに定義されていないのでfindViewById()と私は同じエラー...

public class MainActivity extends Activity { 
    private Button mainB_news; 


    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     mainB_news = (Button) findViewById(R.id.mainB_news); 
     mainB_news.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       setContentView(R.layout.news); 
      } 
     }); 
    } 

    @Override 
    public void onBackPressed() { 
     // check if page 2 is open 
     if (mainB_news != null && mainB_news.isShown()){ 
      setContentView(R.layout.main); // open main view again 
      return; 
     }else 
      super.onBackPressed(); // allows standard use of backbutton for page 1 


    } 
} 

THANKSたくさん

+4

あなたのmain.xmlも投稿してください –

答えて

1

ボタンをクリックしてcontentViewを変更するため、コンテンツビューの変更後にmainB_newsが存在しません。このようにしてsetContentView()を使用しないでください。ニュースを表示するために別のアクティビティを使用してください。

1

を取得

関連する問題