2015-11-23 51 views
2

我檢查過類似的帖子,他們的解決方案似乎不起作用。我(顯然)是新來的,所以這可能只是我缺乏技能。添加一個片段,發生「錯誤的第二個參數類型」錯誤

我收到的錯誤:

"Wrong 2nd argument type Found:'mycompany.fragment_test... required: 'android.support.v4.app.Fragment

replace (int, android.support.v4.ap.Fragment) to (int, mycompany.fragment_test...)'

import android.support.v4.app.FragmentActivity; 
import android.support.v4.app.FragmentTransaction; 
import android.support.v4.app.FragmentManager; 
import android.support.v4.app.Fragment; 
import android.os.Bundle; 


public class MainActivity extends FragmentActivity { 

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

    if (findViewById(R.id.fragment_container) != null) { 
     if (savedInstanceState != null) { 
      return; 
     } 

     FragmentManager fm = getSupportFragmentManager(); 
     FragmentTransaction ft = fm.beginTransaction(); 

     Menu_Fragment fragment = new Menu_Fragment(); 
     fragment.setArguments(getIntent().getExtras()); 



     ft.replace(R.id.fragment_container, fragment); //This is the line with the issue 
     ft.commit(); 

    } 

    } 
} 

回答

6

Menu_Fragment不是從android.support.v4.app.Fragment繼承。據推測,它是從android.app.Fragment繼承。有兩種片段實現方式:本地方式(例如,android.app.Fragment)和回送方式(例如,android.support.v4.app.Fragment)。你需要保持一致。你的活動是FragmentActivity,它是backport的一部分,所以你需要你的片段繼承android.support.v4.app.Fragment

+0

哇,好吧,這是總的意義。他們之間的一致性甚至不在我的視線之內。感謝您指出並教導我。 – RM3

相關問題