Java 如何将片段制作为应用程序启动活动

Java 如何将片段制作为应用程序启动活动,java,android,Java,Android,我的项目中有“home\u fragment.java”类文件 我需要在应用程序启动时启动它。 但我只能添加“活动”作为启动默认值,而不能添加片段。 请帮助我添加一个“片段”作为启动活动。 我是android新手,谢谢 这是我的主页\u fragment.java public class home_fragment extends Fragment { View myView; Button more; @Nullable @Override publ

我的项目中有“home\u fragment.java”类文件 我需要在应用程序启动时启动它。 但我只能添加“活动”作为启动默认值,而不能添加片段。 请帮助我添加一个“片段”作为启动活动。 我是android新手,谢谢

这是我的主页\u fragment.java

public class home_fragment extends Fragment {
    View myView;
    Button more;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {

        View myview = inflater.inflate(R.layout.home_layout,container, false);
        Button button = (Button) myview.findViewById(R.id.button5);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // do something
            }
        });
        return myview;
    }
}

您必须将片段添加到活动中并启动此活动

碎片不可能独立发射

在空活动中添加此xml

<fragment android:name="com.company.appName.fragments.FirstFragment"
        android:id="@+id/fragment_place"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

希望这将对您有所帮助。

片段必须从
活动
启动。 您可以通过从activity
onCreate()
方法启动片段来实现这一点,如下所示:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getFragmentManager().beginTransaction().replace(android.R.id.content, new MyFragment()).commit();
    }  

您不能使用片段作为启动活动,因为片段不是活动,它只是类似于它,或者我们可以说它可以是活动的一小部分。您可以选择一个活动并将您的片段设置为完成所需的工作。可能重复的问题-先生,请描述如何将片段添加到活动中,我的是导航抽屉应用程序。您需要进一步解释吗?@BenSahil如果您的问题是“如何将片段添加到活动中”这是您的答案-注释掉这一行fr.setArguments(args);如果要将任何数据传递给活动片段,请使用setArgumetns方法进行传递。在您的例子中,注释掉它。fr.setArguments(args);
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getFragmentManager().beginTransaction().replace(android.R.id.content, new MyFragment()).commit();
    }