2012-09-21 46 views
0

我有一個問題,我想在Android項目上一起使用Sherlock Action Bar和PhoneGap。如何擴展主類在Android上使用Sherlock Action Bar和PhoneGap

我讀了另一個堆棧溢出帖子,Android不支持多個擴展名。

這是我的工作代碼。

package com.inmo.mobile; 

// import org.apache.cordova.DroidGap; 
import android.os.Bundle; 
import android.widget.Toast; 

import com.actionbarsherlock.app.SherlockActivity; 
import com.actionbarsherlock.view.Menu; 
import com.actionbarsherlock.view.MenuInflater; 
import com.actionbarsherlock.view.MenuItem; 

import android.app.Activity; 
import org.apache.cordova.*; 

//public class Inmo extends DroidGap { 
// 
// @Override 
// public void onCreate(Bundle savedInstanceState) { 
//  super.onCreate(savedInstanceState); 
//  super.setIntegerProperty("splashscreen", R.drawable.splash); 
//  super.loadUrl("file:///android_asset/www/index.html", 5000); 
// } 
//  
//} 

public class Inmo extends SherlockActivity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 

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

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     if (item.getItemId() == R.id.favorites) { 
      //startActivity(new Intent(this, FavoritesActivity.class)); 
      Toast.makeText(this, "favoritos pulsado", Toast.LENGTH_SHORT).show(); 
     } else if (item.getItemId() == R.id.preferences) { 
      Toast.makeText(this, "configuración pulsado", Toast.LENGTH_SHORT).show(); 
     } 
     return true; 
    } 

} 

的PhoneGap的代碼,它的評論,boths代碼中的一個時,它的評論和其他沒有工作,所以我需要兩個結合boths和擴展主類夏洛克和PhoneGap的(以包括科爾多瓦web視圖)。

這可能嗎?

在此先感謝

回答

0

您是否嘗試過使用靜態連接方法?例如:

public class Inmo extends DroidGap implements ActionBar.TabListener, 
     OnCreateOptionsMenuListener, OnMenuItemSelectedListener { 
    private ActionBarSherlock mSherlock; 

    protected final ActionBarSherlock getSherlock() { 
     if (mSherlock == null) { 
      mSherlock = ActionBarSherlock.wrap(this); 
     } 
     return mSherlock; 
    } 

    //... 
} 
+0

是這麼想的工作:( – jgiunta

+0

什麼是錯誤你確定從actionbarsherlock包導入例如'com.actionbarsherlock.ActionBarSherlock.OnMenuItemSelectedListener' –

+0

檢查了這一點:HTTPS: //issues.apache.org/jira/browse/CB-960。它說你必須對res/references進行硬編碼,比如'sherlock.setContentView(0x7f030000)'。你還必須調用'super.setBooleanProperty(「showTitle」,真)'。 –