2016-10-17 73 views
-3

我試圖片段通過使用下面的代碼編程方式連接到我的MainAvtivity:附加一個片段活動

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    FragmentManager fragmentManager = getFragmentManager(); 
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
    MainFragment fragment = new MainFragment(); 
    fragmentTransaction.add(R.id.activity_main,fragment); 
    fragmentTransaction.commit(); 


} 

它給了我一個錯誤:cannot resolve add method

的應用可以發現here

+0

什麼是您的容器的id把在附加功能 –

+0

您activity_main ID是你的幀ID ??? –

回答

1

代表花邊代碼:

FragmentManager fragmentManager = getFragmentManager(); 
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
MainFragment fragment = new MainFragment(); 
fragmentTransaction.add(R.id.activity_main,fragment); 
fragmentTransaction.commit(); 

通過這樣的:

Fragment fragment = new MainFragment(); 
getSupportFragmentManager.begintransaction.replace(R.id.container,fragment).commit; 
+0

現在有效,請解釋一下嗎? –

0

先在activity_main.after所有采取的FrameLayout的是

fragmentTransaction.add( R.id.framelayout_id,片段);

比它的做工精細

0

做一個函數一樣,

public void openFragment(Fragment fragment) { 
     FragmentManager manager = getSupportFragmentManager(); 
     manager.beginTransaction().replace(R.id.fragmentContainer, fragment).commit(); 
    } 

,並在onCreate方法

openFragment(new yourFragment()); 

稱這在你的BeginTransaction()。replace方法你必須通過您想從中替換您的片段的視圖