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