Впервые я использую контекстную панель действий. Когда я нажимаю на элемент моего 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;
}
}
Ну, контекстная панель действий открывается хорошо, когда я делаю длинный щелчок, но кнопка «Поделиться» на панели действий не работает. Когда я говорю «не работает», я имею в виду, что это не кликабельно. Ничего не работает, когда я нажимаю на элемент. Ничего не появляется. Чего я хочу, так это открыть несколько способов обмена. Спасибо