Java 过渡和片段

Java 过渡和片段,java,android,android-fragments,transition,Java,Android,Android Fragments,Transition,对于我的应用程序的UI,我使用Transitions和Fragments。在我的第一个片段的onCreateView功能中,我启动了转换,将显示从第一个场景更改为第二个场景。之后,当我点击一个按钮时,我开始另一个转换,以显示由第三个场景表示的某种“splashscreen”,在它的onTransactionEnd中,我尝试用myView.postDelayed(new myRunnableForChangingFragment(),1000)更改片段 在调试模式下,我看到我的Runnable已正

对于我的应用程序的UI,我使用
Transition
s和
Fragment
s。在我的第一个
片段的
onCreateView
功能中,我启动了
转换
,将显示从第一个
场景
更改为第二个
场景
。之后,当我点击一个
按钮时,我开始另一个
转换
,以显示由第三个
场景
表示的某种“splashscreen”,在它的
onTransactionEnd
中,我尝试用
myView.postDelayed(new myRunnableForChangingFragment(),1000)
更改
片段

在调试模式下,我看到我的
Runnable
已正确启动,但新的
片段不会替换第一个片段。。。尽管如此,还是发生了一些事情:我必须单击后退按钮两次才能返回到我的第一个
片段。事实上,
片段似乎已激活,但不可见

你知道我该怎么解决吗

如第一条评论中所述,下面是我用来更改
片段的代码:

    fragment=new mySecondFragment();
    transaction=getActivity().getFragmentManager().beginTransaction();
    transaction.replace(R.id.Conteneur, fragment,"Fragment tag");
    transaction.addToBackStack(null);
    transaction.commit();
我可以补充一点,这段代码是从
onTransitionEnd
外部启动的,可以完美地工作

“容器”的xml文件:


第一个和第二个场景的xml文件(唯一的区别;按钮在第一个场景的代码中设置为不可见):


“飞溅”场景的xml fle:



我从场景一(按钮不可见,简单的
幻灯片
)过渡到场景二,然后再回到场景一(再次是
幻灯片
),然后过渡到“飞溅”场景(带有
淡入
过渡)。

当您从片段一切换到片段二时,请使用下面的代码,我希望它能帮助您

Fragment fragment = SearchActivity.newInstance(context);
String tag = fragment.toString();
getFragmentManager().beginTransaction()
.addToBackStack(tag)       
.replace(R.id.fragment, new SearchActivity())
.commit();

当您想在反按时再次返回此片段时,请使用addToBackStack,否则您不需要添加addToBackStack

请共享片段事务代码?好的,问题已解决!我搞砸了不同的视图和容器。。。
<TextView
    android:id="@+id/TitreJeux"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginBottom="@dimen/MargeVerticaleBoutonsInterfaceJeux"
    android:lines="1"
    android:text="@string/app_name"
    android:textColor="#FFFF00"
    android:textSize="35sp"
    android:textStyle="bold"
    android:typeface="serif"/>

<vd63.jeux.JeuAnimationRapide.BoutonInterface
    android:id="@+id/BoutonOptions"
    android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:layout_gravity="center"
    android:layout_marginTop="@dimen/MargeVerticaleBoutonsInterfaceJeux"
    android:layout_weight="1"
    android:background="@drawable/bouton_jouer"
    android:text="@string/BoutonOptions"
    android:textColor="@color/CouleurTexteBoutons"
    android:textSize="25sp"
    android:typeface="serif"/>
<?xml version="1.0" encoding="utf-8"?> <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          android:id="@+id/EcranChargement"
          android:orientation="vertical"
          android:gravity="center"
          android:background="@drawable/fond_interface"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          tools:context=".JeuAnimationRapide">

<ImageView
    android:id="@+id/VD63"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/vd63"/>

<ImageView
    android:id="@+id/Chargement"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/chargement"/>
Fragment fragment = SearchActivity.newInstance(context);
String tag = fragment.toString();
getFragmentManager().beginTransaction()
.addToBackStack(tag)       
.replace(R.id.fragment, new SearchActivity())
.commit();