Java Android片段不显示

Java Android片段不显示,java,android,android-fragments,Java,Android,Android Fragments,我对安卓开发相当陌生,我遵循了安卓官方的“入门” 事实上,我的片段没有显示在主要活动中(几天前它运行良好,但我更改了一些行,我不记得是哪一行)。我认为这是一个非常基本的问题,因为我不使用复杂的片段:它基本上是活动中的一个片段 这是我的活动: <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android

我对安卓开发相当陌生,我遵循了安卓官方的“入门”

事实上,我的片段没有显示在主要活动中(几天前它运行良好,但我更改了一些行,我不记得是哪一行)。我认为这是一个非常基本的问题,因为我不使用复杂的片段:它基本上是活动中的一个片段

这是我的活动:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container1"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.mysecond.MainActivity"
tools:ignore="MergeRootFrame" />
有什么想法吗? 谢谢:)

[编辑] 这是我新的onCreate方法:

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

    getSupportFragmentManager().beginTransaction().replace(
            R.id.container1, new PlaceholderFragment()).commit();

}
仍然不适用于此活动(如果我在activity_main.xml中添加一个按钮,我将能够看到它,但在片段中我无法看到TextView…)


logcat中没有错误,是的,活动已启动(我在onCreate和onCreateView中添加了一些Log.e,我可以看到它们)

onCreate
方法中,您不必检查
savedInstanceState
是否为
null
,但您使用的
FrameLayout
的内容是否为
null

或者,您只需始终使用新的片段替换片段并执行任何检查。

您可以使用
replace
而不是
add


您可以按如下所示的代码进行操作:

getSupportFragmentManager().beginTransaction().replace(
                    R.id.container1, new PlaceholderFragment());

对我来说,这项工作。使用init()方法实现接口FragmentActions并使用

    private void showFragment(String fragmentTag){



    FragmentTransaction trasaction = getSupportFragmentManager().beginTransaction();

    FragmentActions fragment =  (FragmentActions) getSupportFragmentManager().findFragmentByTag(fragmentTag);


    if(fragment==null ){  



        if(lastFragmentviewed!=null)
           trasaction.hide(lastFragmentviewed);

        fragment = (FragmentActions) newInstance(fragmentTag);  

        trasaction.add(R.id.content_frame,(Fragment) fragment,fragmentTag);  

    }else{



        if(lastFragmentviewed!=null && !lastFragmentviewed.equals(fragment))
           trasaction.hide(lastFragmentviewed);

        if(getSupportFragmentManager().findFragmentByTag(fragmentTag)!=null){
            fragment.init();
            trasaction.show((Fragment) fragment);
        }else
            trasaction.add(R.id.content_frame,(Fragment) fragment,fragmentTag);

     }

    lastFragmentviewed=(Fragment) fragment;

    trasaction.commit();



}

然后发布日志。代码看起来不错,没有明显的错误。活动是否正在启动,即代码是否首先运行?
getSupportFragmentManager().beginTransaction().replace(
                    R.id.container1, new PlaceholderFragment());
    private void showFragment(String fragmentTag){



    FragmentTransaction trasaction = getSupportFragmentManager().beginTransaction();

    FragmentActions fragment =  (FragmentActions) getSupportFragmentManager().findFragmentByTag(fragmentTag);


    if(fragment==null ){  



        if(lastFragmentviewed!=null)
           trasaction.hide(lastFragmentviewed);

        fragment = (FragmentActions) newInstance(fragmentTag);  

        trasaction.add(R.id.content_frame,(Fragment) fragment,fragmentTag);  

    }else{



        if(lastFragmentviewed!=null && !lastFragmentviewed.equals(fragment))
           trasaction.hide(lastFragmentviewed);

        if(getSupportFragmentManager().findFragmentByTag(fragmentTag)!=null){
            fragment.init();
            trasaction.show((Fragment) fragment);
        }else
            trasaction.add(R.id.content_frame,(Fragment) fragment,fragmentTag);

     }

    lastFragmentviewed=(Fragment) fragment;

    trasaction.commit();



}