tools studio google for extensions developer custom chrome android webview tabs

android - studio - Controle varias vistas web desde el diseño inflado



google chrome android developer (0)

Estoy tratando de hacerlo para que el usuario pueda agregar / eliminar pestañas. Cuando se agrega una nueva pestaña, el contenido de la pestaña se establece en TBrowser.class.

A continuación se muestra cómo se hacen las pestañas:

private void addMethod() { ++i; Intent TBrowser = new Intent(); TBrowser.setClass(this, TBrowser.class); tabHost.addTab(tabHost.newTabSpec(Integer.toString(i)).setIndicator("Tab").setContent(TBrowser)); }

TBrowser.class tiene el contentView de un diseño con un WebView básicamente.

Hasta ahora funciona bien, excepto que solo puedo controlar la vista Web de la pestaña creada más recientemente (por ejemplo, actualizar, retroceder, etc.). Entonces mi pregunta es ¿cómo puedo controlar todas las WebViews? He pasado una gran cantidad de tiempo tratando de hacer que esto funcione, ¡así que realmente agradezco toda ayuda! Avíseme si hay algo más que necesite que suministre.

(Cómo estoy tratando de encontrar las vistas web y actualizar, por ejemplo :)

WebView mWebView = (WebView) TBrowser.mWebView; mWebView.refresh();

Intenté establecer una etiqueta en las vistas de la web tal como están hechas y encontrar la vista web por etiqueta, pero eso solo parecía funcionar para una y después de eso simplemente volvería a funcionar solo para la recién creada ...

- Edito -

yo tengo

private WebView webViews[]=new WebView[10]; private int p = 0;

Definido globalmente en MainActivity ahora. A continuación se invoca cada vez que se presiona el botón Agregar pestaña.

private void addMethod() { ++i; Intent TBrowser = new Intent(); TBrowser.setClass(this, TBrowser.class); tabHost.addTab(tabHost.newTabSpec(Integer.toString(z)).setIndicator("z").setContent(TBrowser)); ++z; test(); }

Y a continuación se invoca cada vez que se llama addMethod.

public void test(){ webViews[p] = TBrowser.mWebView; p++; }

y estoy comprobando si funciona intentando volver a cargarlo ... (que ahora solo funciona en la primera pestaña)

int cT = tabHost.getCurrentTab(); if (cT == 0){ if (webViews[0] != null){ webViews[0].reload(); } } else if (cT == 1){ if(webViews[1] != null){ webViews[1].reload(); } }

- -

Gracias por adelantado :)