2014-07-02 41 views
-1

我是新的android開發,我試圖與我的片段組件(Edittext,按鈕,...)但我得到一個空指針異常。Android的空指針片段組件

這裏是我的onCreate方法的代碼:

protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 


setContentView(R.layout.activity_main_menu); 

     idCpt = (EditText) findViewById(R.id.idCapteurEditText); 
     capBtn = (Button) findViewById(R.id.CapteurBtn); 
     final AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this); 

     idCpt.setText("exemple"); 

     if (savedInstanceState == null) { 
      getSupportFragmentManager().beginTransaction() 
        .add(R.id.container, new PlaceholderFragment()).commit(); 
     } 
    } 

任何想法嗎?

+0

,我認爲你的widget是存在於'fragment_activity'所以把你的代碼片段類或把小部件上'activity_main_menu' –

回答

0

您正在使用從fragment_main_menu.xml的觀點,你會得到空,因爲在你的活動中,你正在使用activity_main_menu

因此,無論使用idCptcapBtnactivity_main_menu佈局,或在您的片段onCreateView膨脹的觀點

View v = inflater.inflate(R.layout.fragment_main_menu, container, false); 

然後使用該視圖來查找編輯文本和按鈕

idCpt = (EditText) v.findViewById(R.id.idCapteurEditText); 
capBtn = (Button) v.findViewById(R.id.CapteurBtn); 

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
      View v = inflater.inflate(R.layout.fragment_main, container, false); 
      EditText idCpt = (EditText) v.findViewById(R.id.idCapteurEditText); 
      Button capBtn = (Button) v.findViewById(R.id.CapteurBtn); 
      return v; 
    }