2014-04-19 2 views
0

저는 멍청한 개발자입니다 ... 누군가이 문제를 해결할 수 있기를 바랍니다. 내 액션 바 (ABS)에 공유 버튼을 추가 할거야하지만 몇 가지 문제를ActionBarSherlock의 공유 버튼

내 액션 바 메뉴 XML

<?xml version="1.0" encoding="utf-8"?> 

<item android:id="@+id/menu_item_share" 
    android:title="Share" 
    android:showAsAction="ifRoom" 
    android:actionProviderClass="com.actionbarsherlock.widget.ShareActionProvider" /> 

내 활동을했습니다

import android.content.Intent; 
    import android.os.Bundle; 
    import android.view.KeyEvent; 
    import android.webkit.WebSettings; 
    import android.webkit.WebView; 
    import android.webkit.WebViewClient; 

    import com.actionbarsherlock.app.ActionBar; 
    import com.actionbarsherlock.app.SherlockActivity; 
    import com.actionbarsherlock.view.Menu; 
    import com.actionbarsherlock.widget.ShareActionProvider; 

    public class DisPlayWebPageActivity extends SherlockActivity { 
     WebView webview; 

     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.webview); 
      ActionBar actionBar = getSupportActionBar(); 
      actionBar.setDisplayHomeAsUpEnabled(true); 
     ... 
     } 

    @Override 
     public boolean onCreateOptionsMenu(Menu menu) { 

      getSupportMenuInflater().inflate(R.menu.actionmenu, menu); 

      ShareActionProvider myShareActionProvider = (ShareActionProvider) menu.findItem(R.id.menu_item_share).getActionProvider(); 

      Intent myIntent = new Intent(); 
      myIntent.setAction(Intent.ACTION_SEND); 
      myIntent.putExtra(Intent.EXTRA_TEXT, "page_url"); 
      myIntent.setType("text/plain"); 

      myShareActionProvider.setShareIntent(myIntent); 

      return true; 
     } 

관련 오류

Error:(52, 8) java: com.actionbarsherlock.internal.view.menu.MenuBuilder is not abstract and does not override abstract method getItem(int) in com.actionbarsherlock.view.Menu 
Error:(663, 34) java: getItem(int) in com.actionbarsherlock.internal.view.menu.MenuBuilder cannot implement getItem(int) in com.actionbarsherlock.view.Menu 
    return type android.view.MenuItem is not compatible with com.actionbarsherlock.view.MenuItem 
Error:(605, 34) java: findItem(int) in com.actionbarsherlock.internal.view.menu.MenuBuilder cannot implement findItem(int) in com.actionbarsherlock.view.Menu 
    return type android.view.MenuItem is not compatible with com.actionbarsherlock.view.MenuItem 
Error:(443, 33) java: addSubMenu(int,int,int,int) in com.actionbarsherlock.internal.view.menu.MenuBuilder cannot implement addSubMenu(int,int,int,int) in com.actionbarsherlock.view.Menu 
    return type android.view.SubMenu is not compatible with com.actionbarsherlock.view.SubMenu 
Error:(435, 33) java: addSubMenu(int,int,int,java.lang.CharSequence) in com.actionbarsherlock.internal.view.menu.MenuBuilder cannot implement addSubMenu(int,int,int,java.lang.CharSequence) in com.actionbarsherlock.view.Menu 
    return type android.view.SubMenu is not compatible with com.actionbarsherlock.view.SubMenu 
... 

전체 오류 로그가 필요한 경우 저에게 물어보십시오!

답변

6
@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getSupportMenuInflater(); 
    inflater.inflate(R.menu.main, menu); 

    return super.onCreateOptionsMenu(menu); 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 

    switch (item.getItemId()) { 
    case R.id.action_setting: 

     Intent next = new Intent(Home.this, Setting.class); 
     next.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
     startActivityForResult(next, 2); 
     return true; 

    } 

    return true; 

}