繁体   English   中英

片段替换错误

[英]Fragment replacement errors

我正在尝试更换我的碎片,但由于这些错误,我无法这样做。 但是我已经有了这些导入,因此我不知道这里出了什么问题。

错误1

Error:(73, 96) error: incompatible types
required: android.support.v4.app.FragmentTransaction
found:    android.app.FragmentTransaction

错误2

Error:(72, 48) error: incompatible types
required: Fragment
found:    FragmentMap

进口货

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;

片段替换代码

Fragment newFragment = new FragmentMap();
FragmentTransaction transaction = getFragmentManager().beginTransaction();

transaction.replace(R.id.detail_container, newFragment);
transaction.addToBackStack(null);
transaction.commit();

在此处输入图片说明

最新截图 在此处输入图片说明

对于错误1

Error:(73, 96) error: incompatible types
required: android.support.v4.app.FragmentTransaction
found:    android.app.FragmentTransaction

getFragmentManager()更改为getSupportFragmentManager()

当使用支持库(您的情况)时,将使用getSupportFragmentManager() )。 不使用支持库时使用getFragmentManager()

对于错误2

Error:(72, 48) error: incompatible types
required: Fragment
found:    FragmentMap

因此,要替换片段,请使用以下代码:

Fragment newFragment = new FragmentMap();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();

transaction.replace(R.id.detail_container, newFragment);
transaction.addToBackStack(null);
transaction.commit();

newFragment是要替换的newFragment ,但会引发错误。

确保使用import android.support.v4.app.Fragment;通过Fragment类(支持lib而不是普通的Fragment类)扩展FragmentMap或要替换的任何其他片段,因为newFragment是来自support lib的Fragment对象import android.support.v4.app.Fragment; 而不 import android.app.Fragment;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM