2013-01-24 44 views
1

我使用ABS的ShareActionProvider。 我都遵循这样的代码:https://github.com/JakeWharton/ActionBarSherlock/blob/master/samples/demos/src/com/actionbarsherlock/sample/demos/ShareActionProviders.java及其与Android的最新版本(4.0以上版本),但不与Android 2.X,我不能点击图标。ActionBarSherlock ShareActionProvider为Android 2.3不工作

这里是我的代码:

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
    inflater.inflate(R.menu.share, menu); 

    MenuItem actionItem = menu.findItem(R.id.menu_item_share_action_provider_action_bar); 
    actionProvider = (ShareActionProvider) actionItem.getActionProvider(); 
    actionProvider.setShareHistoryFileName(null); 
    actionProvider.setShareIntent(share("More apps : https://play.google.com/store/apps/developer?id=Stéphane+Mathis")); 

    if(mItem != null) 
    { 
     actionProvider.setShareIntent(share(mItem.content));   
    } 

    super.onCreateOptionsMenu(menu, inflater); 
} 

private Intent share(String message) 
{ 
    final Intent MessIntent = new Intent(Intent.ACTION_SEND); 
    MessIntent.setType("text/plain"); 
    MessIntent.putExtra(Intent.EXTRA_TEXT, message); 
    return MessIntent; 
} 

我错过了什么?

编辑: 我试过ABS的“官方”演示,它不能在模拟器中工作,但它可以在真实设备上工作。与我的代码一样,使用真实设备(使用4.1.2,4.2.1和2.3.3进行测试),但不在模拟器中。那么我该怎么做?当我在模拟器中测试它时发布一个不起作用的应用程序时,我感到不舒服。

+0

logcat的?........ – Ahmad

+0

没有错误。但是我刚刚在警告中看到了这一行:'找不到方法android.widget.PopupWindow。 ,从方法com.actionbarsherlock.internal.widget.IcsListPopupWindow引用。 '。这与我的问题有关吗? –

+0

有完全相同的问题,你能解决它吗?在您的CAB菜单XML actionProviderClass = “com.actionbarsherlock.widget.ShareActionProvider”:同样是你采用了android? –

回答

3

我认为这是由于错误描述here,总之模拟器不超过1级的应用程序安装即能得到这个份额的意图。

+0

这个解释对我来说很好。谢谢。 –

相关问题