簡體   English   中英

錯誤的第二個參數類型。 必需:“ android.support.v4.app.Fragment”

[英]wrong 2nd argument type. required: 'android.support.v4.app.Fragment'

我得到的錯誤是:錯誤的第二爭論類型。 找到:“ com.example.appname.MainmenuFragment”,必需:“ android.support.v4.app.Fragment”順便說一句,我知道有人問過類似的問題,但是這種情況略有不同,因為此代碼是用MainmenuActivity編寫的,顧名思義,是一個活動而不是一個片段,而MainmenuFragment是一個片段。 今天早上工作了。 我今天進行了很多探索,但最終遇到了這個異常錯誤。 這是我收到錯誤的代碼:

public class MainmenuActivity extends AppCompatActivity {


    private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
            = new BottomNavigationView.OnNavigationItemSelectedListener() {

        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item) {
            android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager();
            FragmentTransaction transaction = fragmentManager.beginTransaction();
            switch (item.getItemId()) {
                case R.id.navigation_mainmenu:
                    transaction.replace(R.id.container, new MainmenuFragment()).commit();
                    return true;
}
return false;
};

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_mainmenu);

        BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
        navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);

        android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction transaction = fragmentManager.beginTransaction();
        transaction.replace(R.id.container, new MainmenuFragment()).commit();

    }}

transaction.replace(R.id.container, new MainmenuFragment()).commit();

transaction.replace(R.id.container, new MainmenuFragment()).commit();

是我得到錯誤的地方。 老實說,如果我嘗試使用其他片段文件而不是Mainmenu_Fragment,它將可以很好地工作。

您可能在MainmenuFragment使用了android.app.Fragment而不是android.support.v4.app.Fragment

問題可能是由於getSupportFragmentManager() 嘗試將其更改為getFragmentManager()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM