2013-10-14 2 views
0

Я пытаюсь создать и приложение с вкладками и фрагментами с одним из фрагментов, содержащих код Phonegap/javascript.PhoneGap внутри приложения Android с использованием вкладок/фрагментов

Я имел некоторый код, который работает, когда только в приложении PhoneGap (без фрагментов), но когда я положил код в виде фрагмента она перестает работать ...

Например, этот код ниже даже не работает ...:

<!DOCTYPE html> 
<html> 
<head> 
<title>Test</title> 
<script type="text/javascript" src="cordova.js"></script> 
<script type="text/javascript" src="jquery-2.0.3.min.js"></script> 
<script type="text/javascript" src="jquery.mobile-1.3.2.min.js"></script> 
<script> 


    document.addEventListener("deviceready", onDeviceReady, false); 
    function onDeviceReady(){ 
     alert("woot i loaded"); 
    } 


</script> 
</head> 
</html> 

Мое начальное, хотя это то, что код выполняется до того, как я перейду на вкладку. Вкладка с кодом телефонной заставки не является вкладкой по умолчанию, поэтому, возможно, она загружается, когда приложение загружается, и почему я ничего не вижу?

public class DevicesListFragment extends Fragment{ 

    CordovaWebView webView; 
    @Override 
    public void onCreate(Bundle savedInstanceState){ 
     super.onCreate(savedInstanceState); 
     webView = new CordovaWebView(getActivity()); 
     **webView.loadUrl("file:///android_asset/www/index.html");** 
      //maybe this is loading and running js before I switch to that tab? 
    } 
} 

Нужно ли что-либо делать при работе с PhoneGap внутри приложения Android с вкладками и фрагментами?

ответ

1

первую очередь попытаться реализовать приложение в мобильном/эмулятор не в браузере

<!DOCTYPE html> 
    <html> 
     <head> 
     <title>Device Ready Example</title> 

     <script type="text/javascript" charset="utf-8" src="cordova.js"></script> 
     <script type="text/javascript" charset="utf-8"> 

     // Wait for device API libraries to load 
     // 
     function onLoad() { 
      document.addEventListener("deviceready", onDeviceReady, false); 
     } 

     // device APIs are available 
     // 
     function onDeviceReady() { 
      // Now safe to use device APIs 
     } 

     </script> 
     </head> 
     <body onload="onLoad()"> 
     </body> 
    </html> 

MyPhoneGapActivity.java

import org.apache.cordova.DroidGap; 

import android.os.Bundle; 

public class MyPhoneGapActivity extends DroidGap { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     super.loadUrl("file:///android_asset/www/index.html"); 
    } 
} 

или же передать строку, которая приводится ниже

http://docs.phonegap.com/en/3.0.0/cordova_events_events.md.html#Events

+0

Ну ладно, поэтому я был прав, говоря, что js работает b прежде чем я включил вкладки! благодаря! – kburbach

Смежные вопросы