menu update added
This commit is contained in:
parent
d2dbb8494b
commit
5cbefb4f5a
|
|
@ -23,7 +23,10 @@ import android.os.Bundle;
|
|||
import android.os.Parcelable;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.util.SparseArray;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import rx.Observable;
|
||||
|
|
@ -119,6 +122,17 @@ public class ViewController<TLogicBridge,
|
|||
return container;
|
||||
}
|
||||
|
||||
/**
|
||||
* Calls when activity configuring ActionBar, Toolbar, Sidebar etc.
|
||||
* If it will be called or not depends on {@link Fragment#hasOptionsMenu())} and {@link Fragment#isMenuVisible()}.
|
||||
*
|
||||
* @param menu The options menu in which you place your items;
|
||||
* @param inflater Helper to inflate menu items.
|
||||
*/
|
||||
public void onConfigureNavigation(@NonNull final Menu menu, @NonNull final MenuInflater inflater) {
|
||||
// do nothing
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when savedInstanceState is ready to be restored.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -25,6 +25,8 @@ import android.support.annotation.NonNull;
|
|||
import android.support.annotation.Nullable;
|
||||
import android.util.Pair;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.FrameLayout;
|
||||
|
|
@ -136,6 +138,8 @@ public abstract class ViewControllerFragment<TState extends Serializable, TLogic
|
|||
return;
|
||||
}
|
||||
|
||||
setHasOptionsMenu(getParentFragment() == null);
|
||||
|
||||
state = savedInstanceState != null
|
||||
? (TState) savedInstanceState.getSerializable(VIEW_CONTROLLER_STATE_EXTRA)
|
||||
: (getArguments() != null ? (TState) getArguments().getSerializable(VIEW_CONTROLLER_STATE_EXTRA) : null);
|
||||
|
|
@ -163,6 +167,14 @@ public abstract class ViewControllerFragment<TState extends Serializable, TLogic
|
|||
activitySubject.onNext(activity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreateOptionsMenu(@NonNull final Menu menu, @NonNull final MenuInflater inflater) {
|
||||
super.onCreateOptionsMenu(menu, inflater);
|
||||
if (viewController != null) {
|
||||
viewController.onConfigureNavigation(menu, inflater);
|
||||
}
|
||||
}
|
||||
|
||||
private void onViewControllerChanged(@Nullable final ViewController viewController) {
|
||||
if (this.viewController != null) {
|
||||
this.viewController.onDestroy();
|
||||
|
|
|
|||
|
|
@ -98,6 +98,14 @@ public class ViewControllerNavigation<TLogicBridge> extends FragmentNavigation {
|
|||
addViewControllerToStack(viewControllerClass, null, state, null, transactionSetup);
|
||||
}
|
||||
|
||||
public void pushViewControllerForResult(@NonNull final Class<? extends ViewController<TLogicBridge,
|
||||
? extends ViewControllerActivity<TLogicBridge>,
|
||||
? extends StatelessViewControllerFragment<TLogicBridge, ? extends ViewControllerActivity<TLogicBridge>>>> viewControllerClass,
|
||||
@NonNull final Fragment targetFragment) {
|
||||
addStatelessViewControllerToStack(viewControllerClass, targetFragment,
|
||||
viewControllerClass.getName() + ';' + WITH_TARGET_FRAGMENT_TAG_MARK, null);
|
||||
}
|
||||
|
||||
public <TState extends Serializable> void pushViewControllerForResult(@NonNull final Class<? extends ViewController<TLogicBridge,
|
||||
? extends ViewControllerActivity<TLogicBridge>,
|
||||
? extends SimpleViewControllerFragment<TState, TLogicBridge, ? extends ViewControllerActivity<TLogicBridge>>>> viewControllerClass,
|
||||
|
|
|
|||
Loading…
Reference in New Issue