am 5dcc9bd7: Merge "Fix bug 3387855 - Menu flashes on left side of screen" into honeycomb
* commit '5dcc9bd7261d6b19135bf972cf603b355b5316f4': Fix bug 3387855 - Menu flashes on left side of screen
This commit is contained in:
@@ -19,6 +19,7 @@ package com.android.internal.view.menu;
|
||||
import com.android.internal.view.menu.MenuBuilder.MenuAdapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Handler;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.MenuItem;
|
||||
@@ -46,6 +47,8 @@ public class MenuPopupHelper implements AdapterView.OnItemClickListener, View.On
|
||||
private boolean mOverflowOnly;
|
||||
private ViewTreeObserver mTreeObserver;
|
||||
|
||||
private final Handler mHandler = new Handler();
|
||||
|
||||
public MenuPopupHelper(Context context, MenuBuilder menu) {
|
||||
this(context, menu, null, false);
|
||||
}
|
||||
@@ -137,8 +140,14 @@ public class MenuPopupHelper implements AdapterView.OnItemClickListener, View.On
|
||||
} else {
|
||||
item = mMenu.getVisibleItems().get(position);
|
||||
}
|
||||
mMenu.performItemAction(item, 0);
|
||||
dismiss();
|
||||
|
||||
final MenuItem performItem = item;
|
||||
mHandler.post(new Runnable() {
|
||||
public void run() {
|
||||
mMenu.performItemAction(performItem, 0);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public boolean onKey(View v, int keyCode, KeyEvent event) {
|
||||
|
||||
Reference in New Issue
Block a user