Java 默认构造函数已弃用,我可以';在Adroid Studio中找不到碎片问题

Java 默认构造函数已弃用,我可以';在Adroid Studio中找不到碎片问题,java,android-studio,Java,Android Studio,当我像这样编写代码时,ControlFragment工作得很好,但是当我在另一个名为“AndresFragment”(第二个代码)的片段中使用完全相同的代码时,它就不工作了。它说“android.app.Fragment中的默认构造函数已弃用”。我真的不明白。。。有人能帮帮我吗,我是新来的 package com.example.fragm; import android.os.Bundle; import android.view.LayoutInflater; import android

当我像这样编写代码时,ControlFragment工作得很好,但是当我在另一个名为“AndresFragment”(第二个代码)的片段中使用完全相同的代码时,它就不工作了。它说“android.app.Fragment中的默认构造函数已弃用”。我真的不明白。。。有人能帮帮我吗,我是新来的

package com.example.fragm;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import androidx.fragment.app.Fragment;

public class ControlFragment extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        if (savedInstanceState != null) {

        }
        View myView = inflater.inflate(R.layout.controlfragment,
                container, false);
        return myView;
    }
    @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);

    }

}


“和碎片”代码:

这是我的Mainactivity.java及其工作的控制片段:

package com.example.fragm;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        if (savedInstanceState != null) {
            return;
        }
        ControlFragment myFragment = new ControlFragment();
        getSupportFragmentManager().beginTransaction().add(R.id.my_fragment_container, myFragment).commit();
    }
}
但我不能用“AndresFragment”

当我试图编译它时,错误是:“错误:找不到适合add(int,AndresFragment)的方法”
getSupportFragmentManager()

而不是:

import android.app.Fragment;
你应使用:

import androidx.fragment.app.Fragment;

在您的第一个文件中,您有正确的导入,这就是您没有错误的原因,
android.app.Fragment
是旧的和不推荐的,这就是您收到错误消息的原因,因为您应该使用新的。

两个文件使用不同的
Fragment
基类:
import androidx.Fragment.app.Fragment在一个和
导入android.app.Fragment在其他。
import android.app.Fragment;
import androidx.fragment.app.Fragment;