2012-08-07 36 views
1

我創建RoboSherlockMapActivity.javaActionBar Sherlock + MapView。行動酒吧沒有出現。

import roboguice.RoboGuice; 
import roboguice.activity.event.OnActivityResultEvent; 
import roboguice.activity.event.OnConfigurationChangedEvent; 
import roboguice.activity.event.OnContentChangedEvent; 
import roboguice.activity.event.OnCreateEvent; 
import roboguice.activity.event.OnDestroyEvent; 
import roboguice.activity.event.OnNewIntentEvent; 
import roboguice.activity.event.OnPauseEvent; 
import roboguice.activity.event.OnRestartEvent; 
import roboguice.activity.event.OnResumeEvent; 
import roboguice.activity.event.OnStartEvent; 
import roboguice.activity.event.OnStopEvent; 
import roboguice.event.EventManager; 
import roboguice.inject.ContentViewListener; 
import roboguice.inject.RoboInjector; 
import android.content.Intent; 
import android.content.res.Configuration; 
import android.os.Bundle; 

import com.actionbarsherlock.view.Menu; 
import com.google.android.maps.MapActivity; 
import com.google.inject.Inject; 

public class RoboSherlockMapActivity extends MapActivity{ 

    @Override 
    protected boolean isRouteDisplayed() { 
    // TODO Auto-generated method stub 
    return false; 
    } 

    protected EventManager eventManager; 

    @Inject ContentViewListener ignored; // BUG find a better place to put this 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     final RoboInjector injector = RoboGuice.getInjector(this); 
     eventManager = injector.getInstance(EventManager.class); 
     injector.injectMembersWithoutViews(this); 
     super.onCreate(savedInstanceState); 
     eventManager.fire(new OnCreateEvent(savedInstanceState)); 
    } 

    @Override 
    protected void onRestart() { 
     super.onRestart(); 
     eventManager.fire(new OnRestartEvent()); 
    } 

    @Override 
    protected void onStart() { 
     super.onStart(); 
     eventManager.fire(new OnStartEvent()); 
    } 

    @Override 
    protected void onResume() { 
     super.onResume(); 
     eventManager.fire(new OnResumeEvent()); 
    } 

    @Override 
    protected void onPause() { 
     super.onPause(); 
     eventManager.fire(new OnPauseEvent()); 
    } 

    @Override 
    public void onNewIntent(Intent intent) { 
     super.onNewIntent(intent); 
     eventManager.fire(new OnNewIntentEvent()); 
    } 

    @Override 
    protected void onStop() { 
     try { 
      eventManager.fire(new OnStopEvent()); 
     } finally { 
      super.onStop(); 
     } 
    } 

    @Override 
    protected void onDestroy() { 
     try { 
      eventManager.fire(new OnDestroyEvent()); 
     } finally { 
      try { 
       RoboGuice.destroyInjector(this); 
      } finally { 
       super.onDestroy(); 
      } 
     } 
    } 

    @Override 
    public void onConfigurationChanged(Configuration newConfig) { 
     final Configuration currentConfig = getResources().getConfiguration(); 
     super.onConfigurationChanged(newConfig); 
     eventManager.fire(new OnConfigurationChangedEvent(currentConfig, newConfig)); 
    } 

    @Override 
    public void onContentChanged() { 
     super.onContentChanged(); 
     RoboGuice.getInjector(this).injectViewMembers(this); 
     eventManager.fire(new OnContentChangedEvent()); 
    } 

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     eventManager.fire(new OnActivityResultEvent(requestCode, resultCode, data)); 
    } 

    public boolean onCreateOptionsMenu(Menu menu) { 
     // TODO Auto-generated method stub 
     return false; 
    } 

} 

我繼承了這個,而不是MapActivity。仍然行動酒吧Sherlock不顯示。這裏可能會出現什麼問題?

回答

2

要使用ActionBarSherlock你所擁有MapActivitycom.actionbarsherlock.app.SherlockMapActivity你可以從ActionBarSherlock-Plugin-Maps下載擴展您的Activity類。

這個類是ActionBarSherlock插件,用於支持MapActivity鏈接到提到的github項目,你也可以在ActionBarSherlock download section找到。

+0

沒有。沒有運氣。 – Hick 2012-08-07 11:52:54

+0

你能否發佈你的AndroidManifest.xml和佈局文件?我只是在我的項目上檢查了上面的解決方案,它正在工作,所以在其他地方一定有一些錯誤。 – Michal 2012-08-07 12:36:05

+0

我在AndroidManifest.xml中犯了一個可怕的錯誤。我的血腥啞巴。不過謝謝! – Hick 2012-08-07 19:20:57