2013-01-24 74 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

這個解釋對我來說很好。謝謝。 –

相關問題