下面列出了android.widget.PopupMenu#OnMenuItemClickListener ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private PopupMenu.OnMenuItemClickListener createTraitListListener(
final ViewGroup parent, final ViewHolder holder,
final View v, final int position) {
return new PopupMenu.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
if (item.getTitle().equals(TraitEditorActivity.thisActivity.getString(R.string.traits_options_copy))) {
copyTrait(position);
} else if (item.getTitle().equals(TraitEditorActivity.thisActivity.getString(R.string.traits_options_delete))) {
deleteTrait(holder);
} else if (item.getTitle().equals(TraitEditorActivity.thisActivity.getString(R.string.traits_options_edit))) {
listener.onItemClick((AdapterView) parent, v, position, v.getId());
}
return false;
}
};
}
private PopupMenu.OnMenuItemClickListener makeSelectMenuListener(final int position) {
return new PopupMenu.OnMenuItemClickListener() {
// Do it when selecting Delete or Statistics
@Override
public boolean onMenuItemClick(MenuItem item) {
final Activity thisActivity = FieldEditorActivity.thisActivity;
final String strDel = thisActivity.getString(R.string.fields_delete);
if (item.getTitle().equals(strDel)) {
AlertDialog alert = createDeleteItemAlertDialog(position);
alert.show();
DialogUtils.styleDialogs(alert);
}
return false;
}
};
}
public void setOverflowMenuItemClickListener(PopupMenu.OnMenuItemClickListener onMenuItemClickListener) {
popupMenu.setOnMenuItemClickListener(onMenuItemClickListener);
}
@Override
public void onListItemClick(ListView lv, View v, int position, long id) {
PopupMenu.OnMenuItemClickListener listener = (PopupMenu.OnMenuItemClickListener) getActivity();
mFragmentHolder.popCurrent();
listener.onMenuItemClick(mMenuItems.get(position));
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
final AppsRowItem rowItem = (AppsRowItem) parent.getItemAtPosition(position);
PopupMenu popup = new PopupMenu(mContext, view);
popup.getMenuInflater().inflate(R.menu.app_action, popup.getMenu());
MenuItem pinItem = popup.getMenu().getItem(0);
if (rowItem.getPinned()) pinItem.setTitle(R.string.action_unpin);
PopupMenu.OnMenuItemClickListener menuAction = new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
db = TasksDataSource.getInstance(mContext);
db.open();
switch (item.getItemId()) {
case R.id.action_pin:
Boolean isPinned = rowItem.getPinned();
rowItem.setPinned(!isPinned);
new Tools().togglePinned(mContext, rowItem.getPackageName(), prefs.editorGet());
break;
case R.id.action_pick_icon:
mIconTask = rowItem;
pickIcon(mInstance, rowItem);
return true;
case R.id.action_blacklist:
Boolean isBlackListed = rowItem.getBlacklisted();
rowItem.setBlacklisted(!isBlackListed);
db.blacklistTask(rowItem, !isBlackListed);
db.close();
break;
case R.id.action_reset_stats:
rowItem.setStats(null);
rowItem.setBarContWidth(0);
db.resetTaskStats(rowItem);
db.close();
break;
}
lv.invalidateViews();
myService.execute(SERVICE_BUILD_REORDER_LAUNCH);
return true;
}
};
popup.setOnMenuItemClickListener(menuAction);
popup.show();
}