package org.ntlab.radishforandroidstudio.cactusClient; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v7.app.AppCompatActivity; import org.ntlab.radishforandroidstudio.R; import org.ntlab.radishforandroidstudio.cactusClient.views.PlayerFragment; import org.ntlab.radishforandroidstudio.cactusClient.views.StartFragment; /** * Cactusのメインアプリケーション */ public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); splash(); //fragmentの設定 Fragment fragment = new StartFragment(); addFragment(R.id.fragment_place, fragment, "StartFragment"); setContentView(R.layout.activity_main); } public void splash() { //3秒間スリープし、スプラッシュを表示。 try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } setTheme(R.style.AppTheme_NoActionBar); setContentView(R.layout.activity_main); } protected void addFragment(int containerViewId, Fragment fragment, String tag) { getSupportFragmentManager().beginTransaction().add(containerViewId, fragment, tag).commit(); } protected void replaceFragment(int containerViewId, Fragment fragment, String tag, boolean flag) { if (flag) { getSupportFragmentManager().beginTransaction().replace(containerViewId, fragment, tag).addToBackStack(null).commit(); } else { getSupportFragmentManager().beginTransaction().replace(containerViewId, fragment, tag).commit(); } } @Override public void onBackPressed() { FragmentManager manager = getSupportFragmentManager(); if (manager == null) { super.onBackPressed(); return; } Fragment fragment = manager.findFragmentById(R.id.fragment_place); if (fragment == null) { super.onBackPressed(); return; } if (fragment instanceof PlayerFragment) { manager.beginTransaction().remove(fragment).commit(); manager.popBackStack(); return; } super.onBackPressed(); } }