我使用Sherlock Actionbar在我的应用程序的Action Bar中显示共享选项。 “共享”选项工作正常。
我想获得用户从“共享”选项中选择的选项,以便我可以共享 Facebook,消息,邮件等的不同文本。
为此我使用 onOptionsItemSelected 函数,但是这个函数 永远不会被称为。
请帮我修复此问题或有任何解决方法 为达到这个。感谢..
public class MainActivity extends SherlockActivity {
private ShareActionProvider mShareActionProvider;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
/** Inflating the current activity's menu with res/menu/items.xml */
getSupportMenuInflater().inflate(R.menu.items, menu);
mShareActionProvider = (ShareActionProvider) menu.findItem(R.id.share).getActionProvider();
Intent intent = getDefaultShareIntent();
if(intent!=null)
mShareActionProvider.setShareIntent(intent);
return super.onCreateOptionsMenu(menu);
}
/** Returns a share intent */
private Intent getDefaultShareIntent(){
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_SUBJECT, "SUBJECT");
intent.putExtra(Intent.EXTRA_TEXT,"Sample Content !!!");
return intent;
}
@Override
public boolean onOptionsItemSelected(com.actionbarsherlock.view.MenuItem item) {
System.out.println("Testing...................");
return false;
}
}
Items.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/share"
android:title="@string/share"
android:showAsAction="always"
android:actionProviderClass="com.actionbarsherlock.widget.ShareActionProvider"
/>
</menu>
答案 0 :(得分:0)
为此,我使用的是onOptionsItemSelected函数,但从不调用此函数。
不应该被召唤。它没有被要求任何行动提供者。
我想获得用户从“共享”选项中选择的选项,以便我可以为Facebook,消息,邮件等共享不同的文本。
ShareActionProvider
不直接支持。