我想要 *** 作栏中的共享图标,按下后会显示一个选择器.我已经准备好了大多数,但是这个不受欢迎的中间人介入了…
菜单:
<?xml version="1.0" enCoding="utf-8"?><menu xmlns:androID="http://schemas.androID.com/apk/res/androID"> <item androID:ID="@+ID/menu_share" androID:title="@string/share" androID:showAsAction="always" androID:actionProvIDerClass="com.actionbarsherlock.Widget.ShareActionProvIDer" /> </menu>
SherlockFragment的onCreateOptionsMenu:
@OverrIDepublic voID onCreateOptionsMenu(Menu menu, MenuInflater inflater) { // Inflate menu resource file. inflater.inflate(R.menu.share_menu, menu); // Locate MenuItem with ShareActionProvIDer MenuItem item = menu.findItem(R.ID.menu_share); // Fetch and store ShareActionProvIDer this.shareActionProvIDer = (ShareActionProvIDer) item.getActionProvIDer(); final String Title = r.getString(R.string.Feedback_share); final String subject = r.getString(R.string.share_subject); final String message = r.getString(R.string.share_message_plain); Intent intent = app.newShareIntent(Title, subject, message); this.shareActionProvIDer.setShareIntent(intent);}
目的工厂:
public Intent newShareIntent(String Title, String subject, String message) { Intent intent = new Intent(androID.content.Intent.ACTION_SEND); intent.setType("text/plain"); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_reset); intent.putExtra(Intent.EXTRA_SUBJECT, subject); intent.putExtra(Intent.EXTRA_TEXT, message); Intent chooser = Intent.createChooser(intent, Title); chooser.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); return chooser;}
不受欢迎的中间人:
当我单击此人时,他会按照指示进行 *** 作,并向选择者展示.但是我真的不感兴趣参与他的服务.
我追求的是:
或在下拉菜单中将所有三个(或用户设备上的多个)都包含在此列表中……,或者可以设置默认值,该默认值显示在共享图标的行内:
解决方法:
But I’m really not interested in engaging his services.
但是您要求提供“他的服务”,因为您是一个叫createChooser()的人,并决定将其用作您的共享Intent.
摆脱它,直接返回您的ACTION_SEND Intent,“ AndroID系统”应该消失了.
总结以上是内存溢出为你收集整理的ActionBar共享项产生“ Android系统”全部内容,希望文章能够帮你解决ActionBar共享项产生“ Android系统”所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)