gpt4 book ai didi

android - 我如何让我的 ShareActionProvider 动态提交文本(来自听众)查看寻呼机等

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:46:55 24 4
gpt4 key购买 nike

我用的是Sherlock Library Action Bar,和ICS的action bar类似,卡住的地方是这个

    @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 被禁用

我希望包含此共享操作提供程序,并希望输入我自己的根据用户输入生成的文本。

欢迎任何意见。

添加这个不起作用

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

如何获得点击分享按钮的更新

最佳答案

我用 android.support.v7.app.ActionBarActivity 衍生工具遇到了类似的问题(虽然我认为这种方法应该适用于任何 Activity )并且我覆盖了 onPrepareOptionsMenu 并得到了你想要的效果:

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
ShareActionProvider actionProvider = (ShareActionProvider) actionItem.getActionProvider();
if (actionProvider != null) {
actionProvider.setShareIntent(createShareIntent());
}
return super.onPrepareOptionsMenu(menu);
}

关于android - 我如何让我的 ShareActionProvider 动态提交文本(来自听众)查看寻呼机等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11538136/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com