java - Android Fragmenttransaction .replace 错误的第二个参数

标签 java android

我一直在这段代码@ ft.replace(..., fragment) 上收到错误的第二个参数类型错误。我不确定出了什么问题,如果有任何帮助,我将不胜感激。

package valdes.listone;

import android.app.FragmentTransaction;
import android.os.Bundle;
import android.app.Activity;

public class MainActivity extends Activity implements GroceryListFragment.GroceryListListener{

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

}

@Override
public void itemClicked(long id){
    //GroceryListListener
    GroceryDetailFragment fragment = new GroceryDetailFragment();
    FragmentTransaction ft = getFragmentManager().beginTransaction();
    fragment.setListId(id);
    ft.replace(R.id.fragmentContainer, fragment); //error is here.
    ft.addToBackStack(null);
    ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
    ft.commit();
}

最佳答案

您正在 GroceryDetailFragment fragment 中扩展 android.support.v4.app.Fragment。您正在使用 getFragmentManager() 返回一个支持 android.app.Fragment 类的 FragmentManager

要让您的代码正常工作,请在您的 GroceryDetailFragment 类中扩展 android.app.Fragment 或使用支持 android.support 的 getSupportFragmentManager() 方法.v4.app.Fragment,一切顺利。

android.supportv4.app.Fragment类用于支持android 3.0之前的android版本。

要了解有关 fragment 的更多信息,请阅读此链接 Fragment .

关于java - Android Fragmenttransaction .replace 错误的第二个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35053084/

相关文章:

java - 如果不扩展 JFrame 需要做出调整吗?

android - lastUpdateTime 的准确值是多少?

android - 如何将 deleteFile() 与包含路径分隔符的参数一起使用?

android - 编译 Android Studio Vulkan 示例

安卓蓝牙连接问题

java - 如何在android中正确实现C2DM?

java - ERROR : Unable to start the daemon process. 此问题可能是由于守护程序配置不正确造成的

java - 使用 Spring 定义 Mongo 模式验证

java - 如何获取元素 ID 中的属性

java - onClick 按钮导致崩溃