Reemplazar cadena en html dinámicamente en Android
Estoy utilizando "loadDataWithBaseUrl (…)" para cargar un archivo html, almacenado en los activos, a Webview. Que contiene una cadena "Cargando …" y un GIF giratorio. Cadena "Cargando …" está codificado de forma segura, y no se localizará. ¿Cómo reemplazar esa cadena dinámicamente, para que pueda ser localizada?
Por favor ayúdame a resolver esto.
- Estoy usando PhoneGap y en mis páginas estoy tratando de usar FontAwesome pero no funciona?
- ¿Qué etiquetas HTML son compatibles con Android TextView?
- Analizando HTML con Jsoup y eliminando spans con cierto estilo
- Vinculación del elemento de una página web a una aplicación para Android
- Formato del texto de TextView utilizando valores / strings.xml, HTML y CSS
- JQuery panel móvil no se cierra completamente sólo en el navegador de Android
- Implementación de la paginación en formato de libro HTML
- ¿Por qué Punjabi (Lengua India) aparece como cajas en algunos dispositivos inteligentes?
- Envío de imágenes HTML en línea en el correo electrónico
- Insignia dinámica HTML de la aplicación de Google Play
- AddEventListener ('exit') a inappbrowser en PhoneGap
- Enfoque la zona de texto con el cursor tras el texto en el navegador de Android
- Método recomendado para presentar texto con formato en Android?
Hay varias soluciones que podría pensar:
-
Cargue un archivo de activos diferente de acuerdo con el idioma actual (obtenga el idioma actual utilizando Locale.getDefault ()), De esta manera puede traducir sus archivos HTML de forma independiente.
-
Utilice los titulares de lugar en su archivo HTML (por ejemplo, # loading_message #), luego cargue el archivo de activo en una cadena, reemplace todas las ocurrencias del marcador de posición por el mensaje localizado apropiado (String.replaceAll ("# loading_message #", getText .string.loading_message) .toString ())), finalmente cargar el HTML procesado en el WebView utilizando la función loadData (String, String mimeType, String encoding).
Para cargar el archivo de activos, puede hacer algo así:
File f = new File("file:///android_asset/my_file.html"); FileReader fr = new FileReader(f); BufferedReader br = new BufferedReader(fr); StringBuffer sb = new StringBuffer(); String eachLine = br.readLine(); while(eachLine != null) { sb.append(eachLine); sb.append("\n"); eachLine = br.readLine(); } // sb.toString is your HTML file as a String
Tuve un problema similar al usar el WebView para mostrar el texto de ayuda que debería traducirse.
Mi solución fue agregar varios archivos HTML traducidos en los assets
y cargarlos con:
webView.loadUrl("file:///android_asset/" + getResources().getString(R.string.help_file));
Para obtener más información, vaya a: Ayuda HTML específica del idioma en Android
String str = "Loading ..." String newStr = str.substring("Loading ".length()); newStr = context.getResourceById(R.string.loading) + newStr;
Espero que el código sea lo suficientemente claro para entender la idea: extraer la cadena sin "Cargar" y concatenarla con la versión localizada de "Cargando" la cadena
- Implementar una RadioButtonPreference en Android
- Comportamiento extraño con la distribución del coordinador y la barra de herramientas de contracción con contenido superpuesto