2017-04-23 92 views
0

我有一個總是發生的錯誤:由:java.lang.NullPointerException引起。 這是我的源代碼java.lang.NullPointerException

FrameLayout frameLayout1 = (FrameLayout) findViewById(R.id.frameContainer1); 
     LayoutInflater layoutInflater1 = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     View view1 = layoutInflater1.inflate(R.layout.activity_add_hm, null, false); 
     frameLayout1.addView(view1); 


     drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); 
     drawerListView = (ListView) findViewById(R.id.drawer_listview); 

     ViewGroup header = (ViewGroup) layoutInflater1.inflate(R.layout.nav_header_main, drawerListView, false); 
     drawerListView.addHeaderView(header, null, false); 

     menuButton1 = (ImageButton) findViewById(R.id.menuButton1); 
     menuButton1.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       drawerLayout.openDrawer(GravityCompat.START); 

      } 
     }); 

有人可以幫我嗎? 在此先感謝。

+1

NullPointerException異常是當您使用空引用,請閱讀並公佈完整的logcat建立一些東西,在那裏你可以看到什麼可能產生NullPointerException異常 –

+0

@peterparker你可以看到異常消息是什麼代碼語句引起的。仔細閱讀例外的堆棧跟蹤。 'NullPointerException'意味着你正試圖調用一個方法或從不引用對象的引用中獲取狀態。它接受一個空值。它在調用方法或獲取狀態之前未被啓動,或者已被設置爲空。 –

回答

0

空指針異常的你的情況可能的原因是從

任何findViewById()方法。

原因是您的視圖ID可能不會出現在活動或片段佈局或您膨脹的佈局中。

可能調用此方法

drawerLayout = (DrawerLayout) view1.findViewById(R.id.drawer_layout); 
drawerListView = (ListView) voew1.findViewById(R.id.drawer_listview); 

ViewGroup header = (ViewGroup) layoutInflater1.inflate(R.layout.nav_header_main, drawerListView, false); 
drawerListView.addHeaderView(header, null, false); 
menuButton1 = (ImageButton) header.findViewById(R.id.menuButton1); 
+0

非常感謝! –