2012-03-10 2 views
0

tous, je développe une application "client de forum", j'utilise le webview comme chaque article dans listview pour montrer la liste de poste, il y a des photos, des textes et des attachements qui peuvent être téléchargés par utilisateur. cela fonctionne, mais le webview est un composant lourd, il a besoin de beaucoup de ressources système. donc je dois trouver une autre méthode pour montrer la liste de poste. J'ai trouvé this question est le même avec mon problème, et le dernier message de l'auteur dit, utilisez "un webview avec un tas de DIVs rendant le contenu individuel", mais je ne peux pas l'obtenir, alors, qu'est-ce qu'il voulait dire?utiliser un webview remplacer avec le listview?

Répondre

0

Je pense qu'il voulait dire que vous devriez obtenir tout le HTML que vous montrez dans les différentes WebViews dans chaque élément ListView, enveloppez chacun dans un tag div, puis montrez cela dans un seul WebView que l'utilisateur peut faire défiler. Vous devriez obtenir de meilleures performances car vous n'aurez qu'un seul WebView à l'écran (et donc en mémoire) à la fois, plutôt qu'un pour chaque ligne visible qui prendra beaucoup de mémoire.

+0

oui, je sais que j'obtiendrai la meilleure performance, mais je ne sais pas comment remplir la balise div par le code java, pouvez-vous donner quelques conseils – Mejonzhan

+0

Un moyen simple est d'utiliser StringBuilder pour créer une grande chaîne HTML, ajouter des divs si nécessaire et mettre vos autres sources HTML ensemble. Une méthode plus avancée consisterait à construire une structure DOM puis à la convertir en une chaîne HTML. Dans les deux cas, vous appelez WebView.loadDataWithBaseURL avec votre chaîne HTML qui contient toutes vos divs pour finalement l'afficher. – louielouie

+0

Merci, louieloule, je vais essayer les deux méthodes plus tard. – Mejonzhan

Questions connexes