2012-09-21 1 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; 
    } 

} 

이 주석 년대 폰갭 코드, 그것은 주석과 다른 아니에요 때 하나의 작동 코드를 boths, 그래서 내가 두 boths을 결합하고 (코르도바 웹보기에 포함에) 셜록과 폰갭의 주요 클래스를 확장해야합니다.

이것은 가능합니까?

미리 감사드립니다.

답변

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", 사실)'. –

관련 문제