Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-隐藏/显示显示错误片段的片段_Android_Android Fragments - Fatal编程技术网

Android-隐藏/显示显示错误片段的片段

Android-隐藏/显示显示错误片段的片段,android,android-fragments,Android,Android Fragments,在我第一次更改应用程序中片段的可见性时,显示的片段不是我设置要显示的片段 我的布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"

在我第一次更改应用程序中片段的可见性时,显示的片段不是我设置要显示的片段

我的布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

<fragment
    android:id="@+id/act_main_frag_top_bar"
    class="br.com.myapp.fragments.TopBarFragment"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"/>

<fragment
    android:id="@+id/act_main_frag_toolbar"
    class="br.com.myapp.fragments.ToolbarFragment"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"/>

<!-- Tabs -->    
<fragment
    android:id="@+id/act_main_frag_twitter"
    class="br.com.myapp.fragments.TwitterFragment"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:visibility="gone"/>

<fragment
    android:id="@+id/act_main_frag_facebook"
    class="br.com.myapp.fragments.FacebookFragment"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:visibility="gone"/>

<fragment
    android:id="@+id/act_main_frag_tv_show"
    class="br.com.myapp.fragments.TVShowFragment"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:visibility="gone"/>

<fragment
    android:id="@+id/act_main_frag_info"
    class="br.com.bluepen.mixtv.fragments.InfoFragment"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:visibility="gone"/>

<fragment
    android:id="@+id/act_main_frag_streaming"
    class="br.com.myapp.fragments.StreamingFragment"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:visibility="gone"/>

</LinearLayout>

在onCreate之后,显示的片段是TwitterFragment,而不是我在onCreate方法的最后一步中设置为显示的StreamingFragment。

我对两个按钮(button1和button2)也有同样的问题,当我不得不隐藏第一个按钮时,第二个按钮被隐藏,而第一个按钮什么也没做。。。我所做的一切就是在xml中按CTRL+C键,然后按CTRL+V键返回。。。希望它能起作用……

我有两个按钮(button1和button2)也有同样的问题,当我不得不隐藏第一个按钮时,第二个按钮隐藏了,而第一个按钮什么也没做。。。我所做的一切就是在xml中按CTRL+C键,然后按CTRL+V键返回。。。希望它能工作…

我发现了问题,我改为在onCreate中隐藏所有片段。显然,xml中的android:visibility=“gone”没有做到这一点

以下是onCreate的代码:

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

    FragmentManager manager = getSupportFragmentManager();
    FragmentTransaction transaction = manager.beginTransaction();

    mStreamingFrag = (StreamingFragment) manager.findFragmentById(R.id.act_main_frag_streaming);
    transaction.show(mStreamingFrag);
    mFacebookFrag = (FacebookFragment) manager.findFragmentById(R.id.act_main_frag_facebook);
    transaction.hide(mFacebookFrag);
    mTwitterFrag = (TwitterFragment) manager.findFragmentById(R.id.act_main_frag_twitter);
    transaction.hide(mTwitterFrag);
    mTVShowFrag = (TVShowFragment) manager.findFragmentById(R.id.act_main_frag_tv_show);
    transaction.hide(mTVShowFrag);
    mInfoFrag = (InfoFragment) manager.findFragmentById(R.id.act_main_frag_info);
    transaction.hide(mInfoFrag);

    transaction.commit();
}

我不知道是否可以将片段设置为隐藏在XML中。

我发现了问题,我更改为在onCreate中隐藏所有片段。显然,xml中的android:visibility=“gone”没有做到这一点

以下是onCreate的代码:

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

    FragmentManager manager = getSupportFragmentManager();
    FragmentTransaction transaction = manager.beginTransaction();

    mStreamingFrag = (StreamingFragment) manager.findFragmentById(R.id.act_main_frag_streaming);
    transaction.show(mStreamingFrag);
    mFacebookFrag = (FacebookFragment) manager.findFragmentById(R.id.act_main_frag_facebook);
    transaction.hide(mFacebookFrag);
    mTwitterFrag = (TwitterFragment) manager.findFragmentById(R.id.act_main_frag_twitter);
    transaction.hide(mTwitterFrag);
    mTVShowFrag = (TVShowFragment) manager.findFragmentById(R.id.act_main_frag_tv_show);
    transaction.hide(mTVShowFrag);
    mInfoFrag = (InfoFragment) manager.findFragmentById(R.id.act_main_frag_info);
    transaction.hide(mInfoFrag);

    transaction.commit();
}

我不知道是否可以将片段设置为隐藏在XML中。

我发现了问题所在。请检查我的回答。对不起,我以前没看到。。。这几乎就是我所说的!:-)我发现了问题所在。请检查我的回答。对不起,我以前没看到。。。这几乎就是我所说的!:-)