2015-11-03 35 views
0

我正在使用Android創建CordovaPlugin。意圖沒有傳遞給AppCompactActivity

但現在我面臨一個問題,我需要一個問題來解決我。

這裏是我的Java代碼: -

public class MoverMusclePlugin extends CordovaPlugin 
{ 
    @Override 
    public boolean execute(String action,final JSONArray args,final CallbackContext callbackContext) throws JSONException 
    { 
     try 
     { 
      if(action.equals("set")) 
      { 
       cordova.getActivity().runOnUiThread(new Runnable() { 
        JSONObject obj = args.getJSONObject(0); 
        Context c = cordova.getActivity().getApplicationContext(); 
        @Override 
        public void run() { 
         Intent in = new Intent(c,MoverMusclePage.class); 
         in.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
         cordova.getActivity().startActivity(in); 
         callbackContext.success(); 
        } 
       }); 
       return true; 
      } 
      else 
      { 
       callbackContext.error("Invalid Argument"); 
       return false; 
      } 
     } 
     catch (Exception e) 
     { 
      callbackContext.error(e.getMessage()); 
      return false; 
     } 
    } 
} 

現在我是什麼在這裏做的,當每一個動作等於「設置」使用意向請致電活動頁面。

但我得到的錯誤說: -

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.pixelmagnus.moveCheck/com.pixelmagnus.moveCheck.MoverMusclePage}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. 

這是我的活動課

public class MoverMusclePage extends AppCompatActivity { 

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

請讓我知道我做錯了這裏。

更新: - 根據建議,我確實將我的AppCompactActivity類更改爲活動。但之後ToolBar無法正常工作。

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
      setSupportActionBar(toolbar); 

setSupportActionBar不適用於ActivityClass。

+0

檢查此鏈接:http://stackoverflow.com/questions/21814825/you-need-to-use-a-theme-appcompat-theme-or-descendant-with-this-activity – Rama

+0

上述鏈接可能重複 –

+0

感謝@Rama,我已經嘗試過這一點,併成功執行,但事情是當我將此類更改爲活動爲AppCompactActivity類設計的佈局未正確應用。因此,我想如果我們可以做一些可能不需要對Activity Class進行任何更改的東西。 – RKD

回答

1

您需要爲您的應用程序指定一個AppCompat主題。將android:theme="@style/Theme.AppCompat.Light"(或其他AppCompat主題)添加到清單中的應用程序節點。

+0

讓我檢查這個東西! @Justin Powell – RKD

+0

不@Justin鮑威爾它不工作。 – RKD

+0

請檢查更新後的問題 – RKD