summaryrefslogtreecommitdiffstats
path: root/core/java/android/app/FragmentManager.java
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2010-06-12 10:15:28 -0700
committerDianne Hackborn <hackbod@google.com>2010-06-12 22:34:04 -0700
commit5ddd127d5a38d80c0d8087d1770f41f61f84f048 (patch)
tree0992c5376b76434d65aaeee93a054822f0582dbc /core/java/android/app/FragmentManager.java
parent4dc643eb6749afe5211198c920e739475590f92c (diff)
downloadframeworks_base-5ddd127d5a38d80c0d8087d1770f41f61f84f048.zip
frameworks_base-5ddd127d5a38d80c0d8087d1770f41f61f84f048.tar.gz
frameworks_base-5ddd127d5a38d80c0d8087d1770f41f61f84f048.tar.bz2
Implement ListFragment and Fragment context menus.
Also fix the docs build. Change-Id: I96f24cc03e6debd897171e503957284b140a9f27
Diffstat (limited to 'core/java/android/app/FragmentManager.java')
-rw-r--r--core/java/android/app/FragmentManager.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/core/java/android/app/FragmentManager.java b/core/java/android/app/FragmentManager.java
index b837c32..c0ab0b5 100644
--- a/core/java/android/app/FragmentManager.java
+++ b/core/java/android/app/FragmentManager.java
@@ -259,6 +259,12 @@ public class FragmentManager {
if (newState < Fragment.CONTENT) {
if (DEBUG) Log.v(TAG, "movefrom CONTENT: " + f);
if (f.mView != null) {
+ f.mCalled = false;
+ f.onDestroyView();
+ if (!f.mCalled) {
+ throw new SuperNotCalledException("Fragment " + f
+ + " did not call through to super.onDestroyedView()");
+ }
// Need to save the current view state if not
// done already.
if (!mActivity.isFinishing() && f.mSavedFragmentState == null) {
@@ -781,6 +787,20 @@ public class FragmentManager {
return false;
}
+ public boolean dispatchContextItemSelected(MenuItem item) {
+ if (mActive != null) {
+ for (int i=0; i<mAdded.size(); i++) {
+ Fragment f = mAdded.get(i);
+ if (f != null && !f.mHidden) {
+ if (f.onContextItemSelected(item)) {
+ return true;
+ }
+ }
+ }
+ }
+ return false;
+ }
+
public void dispatchOptionsMenuClosed(Menu menu) {
if (mActive != null) {
for (int i=0; i<mAdded.size(); i++) {