@Override public void onClick(View v) { getPresenter().request(MainPresenter.NAME_1); } });
@Override public void onClick(View v) { ((MainActivity)getActivity()).replace(new MainFragment()); } });
@Override public void onClick(View v) { getPresenter().request(MainPresenter.NAME_1); } });
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); fragmentStack = new FragmentStack(this, getSupportFragmentManager(), R.id.fragmentContainer); if (savedInstanceState == null) fragmentStack.replace(new MainFragment()); }
@UiThreadTest public void testFindCallback() throws Exception { FragmentManager manager = activity.getSupportFragmentManager(); FragmentStack stack = new FragmentStack(activity, manager, CONTAINER_ID); TestFragmentC fragment = new TestFragmentC(); stack.push(fragment); TestFragment2 fragment2 = new TestFragment2(); stack.push(fragment2); assertEquals(fragment, stack.findCallback(fragment2, TestCallback.class)); assertEquals(activity, stack.findCallback(fragment2, Activity.class)); assertNull(stack.findCallback(fragment2, String.class)); }
@UiThreadTest public void testReplace() throws Exception { FragmentManager manager = activity.getSupportFragmentManager(); FragmentStack stack = new FragmentStack(activity, manager, CONTAINER_ID); TestFragment1 fragment = new TestFragment1(); stack.replace(fragment); assertTopFragment(manager, stack, fragment, 0); TestFragment2 fragment2 = new TestFragment2(); stack.replace(fragment2); assertTopFragment(manager, stack, fragment2, 0); }
/** * Pops the top item if the stack. * If the fragment implements {@link OnBackPressedHandlingFragment}, calls {@link OnBackPressedHandlingFragment#onBackPressed()} instead. * If {@link OnBackPressedHandlingFragment#onBackPressed()} returns false the fragment gets popped. * * @return true if a fragment has been popped or if {@link OnBackPressedHandlingFragment#onBackPressed()} returned true; */ public boolean back() { Fragment top = peek(); if (top instanceof OnBackPressedHandlingFragment) { if (((OnBackPressedHandlingFragment)top).onBackPressed()) return true; } return pop(); }
private void assertTopFragment(FragmentManager manager, FragmentStack stack, Fragment fragment, int index) { assertFragment(manager, fragment, index); assertEquals(fragment, manager.findFragmentById(CONTAINER_ID)); assertEquals(fragment, stack.peek()); assertEquals(index, manager.getBackStackEntryCount()); }
@Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { ServerAPI.Item item = adapter.getItem(position); ((MainActivity)getActivity()).push(new ItemFragment(item.toString())); } });
public void request(String name) { this.name = name; start(REQUEST_ITEMS); } }
@Override public void call(MainActivity activity, ServerAPI.Response response) { activity.onItems(response.items, name); } },
public void replace(Fragment fragment) { fragmentStack.replace(fragment); } }
@Override public void call(MainActivity activity, Throwable throwable) { activity.onNetworkError(throwable); } });
@Override public void call(MainFragment activity, ServerAPI.Response response) { activity.onItems(response.items, name); } },
@Override public void call(MainFragment activity, Throwable throwable) { activity.onNetworkError(throwable); } });
@Override public void setUp() throws Exception { activity = getActivity(); }
@Override public void onClick(View v) { getPresenter().request(MainPresenter.NAME_2); } });
@Override public void onClick(View v) { getPresenter().request(MainPresenter.NAME_2); } });
public void request(String name) { this.name = name; start(REQUEST_ITEMS); } }
@Override public void onCreate(Bundle bundle) { super.onCreate(bundle); if (bundle == null) getPresenter().request(MainPresenter.DEFAULT_NAME); }