package com.yokmama.learn10.chapter06.lesson28; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v7.app.AppCompatActivity; import android.widget.FrameLayout; import java.util.List; public class MainActivity extends AppCompatActivity { private List<Todo> mTodoList; private boolean mIsTablet = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //ダミーデータ作成 mTodoList = Todo.addDummyItem(); //TODOリスト一覧を表示 showTodoList(); //タブレットレイアウトなら右側にフォーム画面を表示 FrameLayout container2 = (FrameLayout) findViewById(R.id.container2); if (container2 != null) { mIsTablet = true; showTodoForm(mTodoList.get(0)); } } @Override public void onBackPressed() { if (getSupportFragmentManager().getBackStackEntryCount() > 1) { //フォーム画面を開いている場合は画面を閉じる getSupportFragmentManager().popBackStack(); } else { //リスト画面の場合は通常のバックキー処理(アプリを終了) super.onBackPressed(); } } /** * TODOリスト一覧を表示 */ public void showTodoList() { String tag = TodoListFragment.TAG; getSupportFragmentManager().beginTransaction().replace(R.id.container, TodoListFragment.newInstance(), tag).commit(); } /** * TODOフォーム画面を表示 * * @param item TODOリストデータ */ public void showTodoForm(Todo item) { String tag = TodoFormFragment.TAG; TodoFormFragment fragment; if (item == null) { fragment = TodoFormFragment.newInstance(); } else { fragment = TodoFormFragment.newInstance(item.getColorLabel(), item.getValue(), item.getCreatedTime()); } if (!mIsTablet) { //スマートフォンレイアウトの場合はcontainerに表示 getSupportFragmentManager().beginTransaction().replace(R.id.container, fragment, tag).addToBackStack(tag).commit(); }else{ //タブレットレイアウトの場合はcontainer2に表示 getSupportFragmentManager().beginTransaction().replace(R.id.container2, fragment, tag).addToBackStack(tag).commit(); } } public List<Todo> getTodoList() { return mTodoList; } /** * タブレットか判定. * @return */ public boolean isTablet() { return mIsTablet; } }