2016-04-22 23 views
0
Fragment fragment = null; 
    FragmentManager fragmentManager = getSupportFragmentManager(); 
    switch(position) { 
     default: 
     case 0: 
      fragment = new DefaultFragment(); 
      break; 
     case 1: 
      Intent intent = new Intent(this, MainActivity.class); 
      startActivity(intent); 
      break; 
    } 
    fragmentManager.beginTransaction().replace(R.id.main_fragment_container, fragment).commit(); 

當選擇情況1,錯誤顯示不幸的是應用程序停止。但點擊「確定」後,應用程序將出現MainActivity。如何在不彈出'不幸'的情況下使用MainActivity。情況0沒有問題,因爲使用的DefaultFragment文件擴展了Fragment。錯誤不幸的是,導航抽屜意圖到其他課堂活動

MainActivity File 
public class MainActivity extends AppCompatActivity { 

DefaultFragment 
public class DefaultFragment extends Fragment{ 

enter image description here

+0

您需要發佈堆棧跟蹤和更多的代碼,以便我們確定。我猜想對於'case 1',你仍然試圖在'switch'後執行'FragmentTransaction',但'fragment'將會是'null'。 –

+0

我已經編輯此問題,並單擊選擇案例1時附加圖像錯誤。 –

回答

0

對於case 1,你還在嘗試switch後執行FragmentTransaction,但fragmentnullreturn;case 1,或將FragmentTransaction移至case 0

+1

非常感謝先生..它的工作.. –

+0

標記答案正確! – Keshav