как заставить мой ShareActionProvider динамически отправлять текст (от слушателей )просматривать пейджеры и т. д.

Я использую панель действий Sherlock Library, которая похожа на панели действий ICS, вот место, где я застрял

    @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;
}

Всякий раз, когда я пытаюсь поместить actionProvider.setShareIntent(createShareIntent());внутрь слушателя или куда-либо еще, кроме actionProvider.setShareIntent(createShareIntent());, я получаюD/View(11753): onTouchEvent: viewFlags is DISABLED

Я хочу включить этого поставщика действий для совместного использования и хочу ввести свой собственный текст, который генерируется при вводе данных пользователем.

Любые входы приветствуются.

Добавление этого не работает

    actionItem.setOnMenuItemClickListener(new OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem item) {
            Log.e("THIS IS NEVER CALLED", "??");
            return true;
        }
    });

Как получить обновление для нажатия кнопки «Поделиться»

6
задан Some one Some where 18 July 2012 в 10:31
поделиться