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

时间:2018-01-25 08:30:24

标签: java android

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

这是我的 home_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;
    }
}

2 个答案:

答案 0 :(得分:0)

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

片段无法独立发布。

在空活动中添加此xml

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

并且在onCreate方法的活动中执行此操作

Fragment fr = new FirstFragment();
fr.setArguments(args);
FragmentManager fm = getFragmentManager();
FragmentTransaction fragmentTransaction = fm.beginTransaction();
fragmentTransaction.replace(R.id.fragment_place, fr);
fragmentTransaction.commit();

希望这会对你有所帮助。

答案 1 :(得分:0)

必须从Fragment启动

Activity。 您可以通过从活动onCreate()方法启动片段来实现此目的:

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