2012-11-30 52 views
0

,这是我的代码:jQuery Mobile的Android 2.3的 - 3不工作

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    super.init(); 

    handler = new Handler(); 
    FILENAME = getString(R.string.fileName); 

    if(!fileExistance(FILENAME)){ 
     //create the file 
     FileOutputStream fos; 
     try { 
      fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); 
      String string= "{'teamName':'name','players':[{'name':'mary','gol':'2','foto':'xxx','presence':'0'},{'name':'claudia','gol':'3','foto':'xxx','presence':'0'}]}"; 
      fos.write(string.getBytes()); 
     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 

    //parsing dei dati dal file 
    String json = readFile(); 
    team = parseJson(json); 

    appView.addJavascriptInterface(this, "MyTeam"); 




    super.loadUrl("file:///android_asset/www/menu.html"); 

} 

menu.html:

<!DOCTYPE html> 
<html> 
    <head> 
     <title>jQuery Mobile page</title> 
     <meta charset="utf-8" /> 
     <meta name="viewport" content="width=device-width, initial-scale=1"> 
     <link rel="stylesheet" href="themes/myTheme.css" /> 
     <link rel="stylesheet" href="themes/jquery.mobile.structure-1.2.0.css" /> 

     <script src="js/jquery-1.8.2.min.js"></script> 
     <script src="js/jquery.mobile-1.2.0.min.js"></script> 
     <script src="js/jquery-ui-1.9.1.custom.min.js"></script> 
     <script src="js/jquery.ui.touch-punch.min.js"></script> 
     <script type="text/javascript" src="js/jquery-chron.min.js"></script> 
     <!--script type="text/javascript" src="cordova-2.2.0.js"></script--> 

     <link rel="stylesheet" type="text/css" href="themes/jquery.mobile.simpledialog.min.css" /> 
     <script type="text/javascript" src="js/jquery.mobile.simpledialog.min.js"></script> 

     <link rel="stylesheet" href="themes/main.css" /> 
    </head> 
    <body onload=""> 
     <div data-role="page" data-theme="a"> 
      <div data-role="header" data-position="inline"> 
       <img style="float:left;width:41px;" src="themes/images/ball.png"/> 
       <img style="float:right;width:41px;" src="themes/images/ball.png"/> 
       <div style="text-align:center"><h1 style="font-size: 1.1em;">Futsal Manager 1.0!</h1></div> 

       <div id="navbar" style="display:none" data-role="navbar" data-iconpos="top"> 
        <ul> 
         <li><a href="#" data-icon="refresh" >Substitutions</a></li> 
         <li><a href="#" data-icon="star" >Gol</a></li> 
        </ul> 
       </div><!-- /navbar --> 
      </div> 
      <div data-role="content" data-theme="a" id="content">   
       <a data-role="button" data-transition="none" style="margin: 2em;" id="newGame">New Match</a> 
       <a data-role="button" data-transition="none" style="margin: 2em;" id="ranking">Players gol/presence</a> 
       <a data-role="button" data-transition="none" style="margin: 2em;" id="settings">Settings</a> 
       <p id="info"></p> 
      </div> 

      <div data-role="footer" style="text-align:center"> 
        <p class="pFooter">Developed by</p> 
        <img style="text-align:center" src="themes/images/logo.png" /> 
        <p class="pFooter">http://www.michelepierri.it</p> 
      </div> 
     </div> 
    </body> 
</html> 

的问题是,这个网页是正确加载,但是当我点击一个按钮我有这个例外:12-01 14:45:57.972:E/AndroidRuntime(11229):android.view.ViewRoot $ CalledFromWrongThreadException:只有创建视图层次结构的原始线程可以触及其视图。

但它可以正常使用Android 4.0和最新版本,但从Android 2.3到3版本的应用程序崩溃。

任何人都可以帮助我吗? 非常感谢。

+0

应用程序崩溃时会出现什么样的错误? –

+0

我已经返回此错误:12-01 14:45:57.972:E/AndroidRuntime(11229):android.view.ViewRoot $ CalledFromWrongThreadException:只有创建视图层次结构的原始线程可以触及其视图。 – michele

回答

0
private void loadURL(final String in){ 
    handler.post(new Runnable() { 
     public void run() { 
      webView.loadUrl(in); 
     } 
    }); 
} 

public void loadPage(String in){ 
    final String url = HTML_ROOT + in; 
    //super.loadUrl(url); 
    loadURL(url); 
}