Note that there are some explanatory texts on larger screens.

plurals
  1. POShareActionProvider not clickable and not rendering properly on first render
    primarykey
    data
    text
    <p>I have a ShareActionProvider together with some other options in my ActionBar. It seems however that the ShareActionProvider has problems rendering properly when first rendered in portrait mode and it is not clickable on the first render. An orientation change re-renders the screen and then all the options that are supposed to be visible are visible and when rotating back the ActionBar re-renders again but this time it is rendering properly in portrait mode as well.</p> <p>I've attached an image that describes the situation:</p> <ol> <li><p>The Share option is not properly rendered, it should have an icon next to it and if it doesn't fit the layout, it should become a 3-dot menu.</p></li> <li><p>After orientation all options are visible as expected.</p></li> <li><p>Rotating back to portrait re-renders the ActionBar and now the 3-dot menu appear as it should and it is clickable.</p></li> </ol> <p>Any ideas on what's going on here?</p> <p><img src="https://i.stack.imgur.com/yePCr.png" alt="ActionBar description"></p> <p>This is my XML:</p> <pre><code> &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;menu xmlns:android="http://schemas.android.com/apk/res/android" &gt; &lt;item android:id="@+id/item_delete" android:icon="@android:drawable/ic_menu_delete" android:showAsAction="ifRoom|withText" android:title="Delete" android:visible="false"/&gt; &lt;item android:id="@+id/item_edit" android:icon="@android:drawable/ic_menu_edit" android:showAsAction="ifRoom|withText" android:title="Edit" android:visible="false"/&gt; &lt;item android:id="@+id/item_share" android:actionProviderClass="android.widget.ShareActionProvider" android:showAsAction="ifRoom|withText" android:title="Share" android:visible="false"/&gt; &lt;item android:id="@+id/item_save" android:icon="@android:drawable/ic_menu_save" android:showAsAction="ifRoom|withText" android:title="Save" android:visible="false"/&gt; &lt;item android:id="@+id/menu_search" android:actionViewClass="android.widget.SearchView" android:icon="@android:drawable/ic_menu_search" android:showAsAction="ifRoom" android:title="@string/menu_search" android:visible="false"/&gt; &lt;/menu&gt; </code></pre> <p>and this is how I handle the options menu in a Fragment:</p> <pre><code> /** * Hook into the OptionsMenu and add an Edit, Delete and Share option. */ @Override public void onPrepareOptionsMenu(Menu menu) { MenuItem deleteItem = menu.findItem(R.id.item_delete); deleteItem.setVisible(true); MenuItem editItem = menu.findItem(R.id.item_edit); editItem.setVisible(true); MenuItem shareItem = menu.findItem(R.id.item_share); shareItem.setVisible(true); shareActionProvider = (ShareActionProvider) shareItem.getActionProvider(); shareActionProvider.setShareIntent(getShareIntent()); super.onPrepareOptionsMenu(menu); } /** * Builds an intent that takes the path for the image and passes it to * the sharing mechanism as a stream built on the URI of the image path. * @return the intent to share the image as a stream */ private Intent getShareIntent() { Intent shareIntent = new Intent(); shareIntent.setAction(Intent.ACTION_SEND); shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + receipt.getPhoto())); shareIntent.setType("image/jpeg"); return shareIntent; } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload