2
我试图使用ShareActionProvider与actionbarsherlock,但我得到:NullPointerException异常使用ShareActionProvider + actionbarsherlock
java.lang.NullPointerException
at com.iuculano.tvitaliane.Start.onCreateOptionsMenu(Start.java:387)
at com.actionbarsherlock.app.SherlockActivity.onCreatePanelMenu(SherlockActivity.java:167
at com.actionbarsherlock.ActionBarSherlock.callbackCreateOptionsMenu(ActionBarSherlock.java:542)
在onCreateOptionsMenu(菜单菜单)相关的代码是这样的:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
super.onCreateOptionsMenu(menu);
MenuItem menuItem = menu.findItem(R.id.share);
//MenuInflater blowUp = getSupportMenuInflater();
//getSupportMenuInflater().inflate(R.menu.menuhome, menu);
ShareActionProvider mShareActionProvider = (ShareActionProvider) menuItem.getActionProvider(); //line 387
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT, getString(R.string.sharesubject));
shareIntent.putExtra(Intent.EXTRA_SUBJECT,getString(R.string.sharetext));
mShareActionProvider.setShareIntent(shareIntent);
和menuhome.xml有这个:
<item
android:id="@+id/share"
android:actionProviderClass="com.actionbarsherlock.widget.ShareActionProvider"
android:enabled="true"
android:showAsAction="ifRoom"
android:visible="true">
</item>
我在哪里错了?
您确定ActionBar Sherlock支持ShareActionProvider吗? –
我认为它支持ShareActionProvider:https://github.com/JakeWharton/ActionBarSherlock/blob/master/samples/demos/src/com/actionbarsherlock/sample/demos/ShareActionProviders.java – Giuseppe
酷!那是两个月前。也许你在图书馆没有?我的第一眼看不到代码中的错误。我会研究它;当使用ActionBar Sherlock时,可能需要使用一些不同的东西,就像使用片段一样。 –