За първи път използвам контекстната лента за действие. Когато щракна върху елемента от моя ListView, искам да имам възможността да споделя този елемент по някакъв начин (whatsapp/mail/gmail/drive и т.н. и т.н.). Опитвам се с този метод, но не работи: оформлението на менюто:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/shareButton"
android:actionProviderClass="android.widget.ShareActionProvider"
android:title="@string/share"
android:showAsAction="always"/>
</menu>
Класът на контекстната лента за действие:
public class CABMode implements ActionMode.Callback {
private ShareActionProvider mshare;
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
mode.getMenuInflater().inflate(R.menu.cab, menu);
return true;
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
// don't need to do anything
return false;
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
mshare = (ShareActionProvider) item.getActionProvider();
mshare.setShareIntent(Share());
return true;
}
@Override
public void onDestroyActionMode(ActionMode mode) {
Mode = null;
}
public Intent Share() {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, "Share");
return intent;
}
}
Е, контекстуалната лента за действие се отваря добре, когато щракам дълго, но бутонът за споделяне в лентата за действия не работи. Когато казвам „не работи“, имам предвид, че изглежда не може да се кликне. Нищо не работи, когато щракна върху елемента. Нищо не се появява. Това, което искам, е отваряне на множество начини за споделяне. Благодаря