我想知道如何在调用其他 FragmentActivity.class 之后从导航抽屉调用基本 content_main.xml (布局),其中 content_main。 xml 是启动Android应用程序时会看到的第一个视图。
我不能这样做,因为我认为主要活动( MainActivity_Fragment.class )和NavigationDrawer扩展 AppCompatActivity ...如果你需要代码我' ll只显示代码片段...因为代码太长了。
如果有办法调用默认内容视图,请告诉我......我多次搜索谷歌并且很遗憾没有答案...请帮忙,谢谢...
MainActivity_Fragment.class
public class MainActivity_Fragment extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener,
SlideFragment.OnFragmentInteractionListener,
View.OnClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
...
}
@Override
public boolean onNavigationItemSelected(MenuItem item) {
...
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.nav_camera) {
//startActivity(new Intent(this, MainActivity_Fragment.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
FragmentTransaction transaction = getFragmentManager().beginTransaction();
MainActivity_Fragment newFragment = new MainActivity_Fragment();
transaction.replace(R.id.activity_translator, newFragment); // THIS IS THE ERROR WHEREIN MAINACTIVITY.CLASS SHOULD IMPLEMENT FRAGMENT
transaction.addToBackStack(null);
transaction.commit();
...
}
这是我的 content_main.xml 布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/relativeLayout_for_Fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/card_activity_background"
android:orientation="vertical"
tools:showIn="@layout/app_bar_main">
...// MY DEFAULT DISPLAY CONTENT
</LinearLayout>
平台:Android Studio 2.2预览版5
Android SDK目标:24
15分钟
注意:我没有使用 FragmentActivity 作为我的类的扩展,我只是使用 AppCompatActivity
答案 0 :(得分:0)
尝试这样做可能对您有所帮助,只需更改波纹管线
即可FragmentTransaction transaction = getFragmentManager().beginTransaction();
要
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
答案 1 :(得分:0)
在MainActivity_Fragment的onCreate()中,第一个视图应该是默认片段,如下所示:
mFragmentManager = getSupportFragmentManager();
mFragmentTransaction = mFragmentManager.beginTransaction();
//Default fragment when begin
Bundle bundle = new Bundle();
HomeFragment homeFragment = new HomeFragment();
homeFragment.setArguments(bundle);
mFragmentTransaction.replace(R.id.containerView, homeFragment);
mFragmentTransaction.commit();
答案 2 :(得分:0)
我不确定,我认为这是我自己的活动,我应该重新编码 MainActivity_Fragment.class 并将其扩展为 FragmentActivity 。 但我仍然期待着不迁移到 FragmentActivity 的答案。