Boa tarde a todos,
Estou utilizando o Primefaces Mobile para um projeto, e carregando as páginas através de um WebView na aplicação Android.
Estou gerando gráficos nessa aplicação, então estou usando os componentes referentes a gráficos do Primefaces (não Primefaces Mobile).
Quando carrego as páginas pela primeira vez, todos os gráficos aparecem no WebView, mas quando atualizo a página, ou mudo de gráfico, os mesmos as vezes não são renderizados novamente.
Já testei a parte web da aplicação em outros navegadores no próprio dispositivo (Chrome, Firefox, Dolphin e navegador nativo), e funciona perfeitamente.
Então eu lhes pergunto: o que pode estar ocasionando o problema? alguém já passou por isso? se sim, conseguiu resolver?
Vou postar partes do código:
WebView Android:
webView = (WebView) findViewById(R.id.webViewPrimefacesMobile);
webView.setWebViewClient(new WebClient());
webView.setWebChromeClient(new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress) {
activity.setProgress(newProgress * 100);
}
});
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().
setUserAgentString("Mozilla/5.0 (Linux; U; Android 4.0.2; en-us; Galaxy Nexus Build/ICL53F) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30");
webView.loadUrl("http://192.168.8.30:8080/GraficosPrimefacesMobile?redirect=true");
Página utilizando Primefaces Mobile (mas o gráfico é do Primefaces normal, versão 3.3.1):
<f:view xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
xmlns:pm="http://primefaces.org/mobile"
renderKitId="PRIMEFACES_MOBILE"
contentType="text/html">
<pm:page title="Barra">
<pm:view id="main" swatch="c">
<pm:header title="Barra" />
<pm:content>
<h:form id="formPrincipal">
<p:barChart id="basic" value="#{barChartMB.categoryModel}" legendPosition="ne"
title="Barra" min="0" max="100" zoom="true" style="width: 100%; height: 600px;"
rendered="true" />
</h:form>
</pm:content>
</pm:view>
</pm:page>
</f:view>
Obrigado aos que ajudarem.