¿Cómo se muestran 2 vistas en 1 actividad (android)?
Supongamos que tengo una webview abierta:
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); main_webv = (WebView) findViewById(R.id.mainwebview); main_webv.setWebViewClient(new HelloWebViewClient()); main_webv.getSettings().setJavaScriptEnabled(true); main_webv.getSettings().setSupportZoom(false); main_webv.addJavascriptInterface(new HelloJavascriptInterface(),"hello"); main_webv.setWebChromeClient(new HelloWebChromeClient()); main_webv.loadUrl(SPLASH); main_webv.setVisibility( 4 ); setContentView(R.layout.main_list); main_listv = (ListView) findViewById(R.id.mainlistview); }
Simplemente quiero crear un ListView por encima de esta webview (cubriéndolo … pero sitll permitiendo que la webview se ejecute). Podría cambiar las vistas y desactivar. Gracias.
- ¿Cómo puedo dejar que el emulador de Android hable con el host local?
- Cómo desplazar WebView a la parte superior de android?
- PictureListener y onNewPicture () están obsoletos - Alternativas?
- Fuentes hebreas de Android 2.3 en Webview
- No se puede mostrar la cadena html en la vista web
- TLS 1.1, 1.2 en WebView para android <= 4.3
- AdjustResize no funciona después de despedir el teclado haciendo clic en el teclado exterior
- Android - Añadir GestureDetector a la vista web
- Interceptación de descarga en webview y descarga mediante HttpClient
- Selección de texto de Android en la vista web
- Android: cómo agregar un teclado virtual personalizado cuando se selecciona el campo de formulario en WebView
- Vista web de Android con el botón Atrás, si no
- ¿Soporta Android WebView html5?
Puede utilizar FrameLayout ; de esa manera ambos puntos de vista estarán dispuestos encima de otro. A continuación, puede cambiar su visibilidad utilizando el View.setVisibility(..)
.
[EDIT: CÓDIGO ADICIONAL]
Este es mi layout XML (weblister.xml):
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ListView android:id="@+id/list_view" android:layout_width="fill_parent" android:layout_height="fill_parent" /> <WebView android:id="@+id/webview" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </FrameLayout>
Ahora, creo una actividad que tendrá tanto ListView y WebView en su heirarchy View, pero sólo uno de ellos sería visible:
public class WebAct extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.weblister); //setup listview ListView listView = (ListView) findViewById(R.id.list_view); listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, new String[]{"One","Two"}){ }); // setup web view WebView webView = (WebView) findViewById(R.id.webview); webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setSupportZoom(false); webView.loadUrl("http://www.google.com"); // set visibility listView.setVisibility(View.INVISIBLE); webView.setVisibility(View.VISIBLE); } }
Nota: El código puede no estar completo, pero espero que transmita mi punto a usted.
Sí, setVisibility probablemente le ayudará si desea cambiar de forma programática las vistas en (View.VISIBLE) y desactivar (VIEW.GONE).
En cuanto a su comentario a Samuhs respuesta: En Java no tiene herencia múltiple. Pero ListActivity hereda de Activity para que ListActivity sea prácticamente la misma (y más) como una Activity.
Además, no tiene que usar ListActivity para mostrar ListViews, simplemente proporciona algo de conveniencia para manejar actividades basadas en listas ya que son tan comunes.
¿Cuál es exactamente el error que obtienes?
- Teclado suave – Sólo numérico
- Realm.io de Android cómo sincronizar con el lado del servidor MySQL DB