I use the Sherlock Library action bar, which is similar to the ICS action bar, the place I got stuck is
@Override public boolean onCreateOptionsMenu(Menu menu) { menu.add("Save") .setIcon(R.drawable.ic_compose).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); menu.add("Search") .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT); SubMenu sub = menu.addSubMenu("Options"); sub.add(0, SubMenu.NONE, 0, "First"); sub.add(0,SubMenu.NONE, 1, "Second"); sub.add(0, SubMenu.NONE, 2, "Three"); sub.getItem().setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT); // HERE IS WHere I AM FACING PROBLEM IN getSupportMenuInflater().inflate(R.menu.share_action_provider, menu); // Set file with share history to the provider and set the share intent. actionItem = menu.findItem(R.id.menu_item_share_action_provider_action_bar); ShareActionProvider actionProvider = (ShareActionProvider) actionItem.getActionProvider(); actionProvider.setShareHistoryFileName(ShareActionProvider.DEFAULT_SHARE_HISTORY_FILE_NAME); //this is BRILLIANT WAY TO AVOID REPEATation actionProvider.setShareIntent(createShareIntent()); return super.onCreateOptionsMenu(menu); } private Intent createShareIntent() { Intent shareIntent = new Intent(Intent.ACTION_SEND); shareIntent.setType("text/plain"); //THIS TEXT IS WHAT I WANT TO OBTAIN DYNAMICALLY shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Something goes here"); return shareIntent; }
Whenever I try to put actionProvider.setShareIntent(createShareIntent());
inside the listener or somewhere other than actionProvider.setShareIntent(createShareIntent());
I get D/View(11753): onTouchEvent: viewFlags is DISABLED
I want to enable this share action provider and want to enter my own text that is generated on the user's inputs.
Any inputs are welcome.
Adding this does not work
actionItem.setOnMenuItemClickListener(new OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { Log.e("THIS IS NEVER CALLED", "??"); return true; } });
How to get the update for the Share button pressed
source share