cómo extender el WebView correctamente?
Estoy utilizando la solución de Scroll webview horizontalmente dentro de un ViewPager
su aspecto es muy útil, me refería ExtendedWebView en xml,
- Detectar si la página web se carga en la aplicación nativa de Facebook en iOS / Android
- Android WebView no sólo de vídeo audio
- Eventos de desplazamiento de HTML en un WebView de Android que está dentro de un ScrollView
- ¿Necesito aplicaciones separadas de Twitter para la integración con aplicaciones de iOS y Android + Web?
- Phonegap - Córdoba es lenta y lenta en dispositivos Android y iOS
<ExtendedWebView android:id="@+id/webview" android:layout_width="fill_parent" android:layout_height="fill_parent" />
ejemplo ExtendedWebView en .class,
LayoutInflater mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); layout = mInflater.inflate(R.layout.lay1, null); ExtendedWebView webView = (ExtendedWebView)layout.findViewById(R.id.webview);
pero tengo 'Error de inflar la clase ExtendedWebView', así que nadie podría ayudarme a darme algunas ideas, gracias por su tiempo y experiencia!
heres son rastro entero de la pila,
12-27 22:14:44.263: E/AndroidRuntime(10824): FATAL EXCEPTION: main 12-27 22:14:44.263: E/AndroidRuntime(10824): android.view.InflateException: Binary XML file line #7: Error inflating class com.vv_package_name.ExtendedWebView 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:576) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.view.LayoutInflater.rInflate(LayoutInflater.java:618) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.view.LayoutInflater.inflate(LayoutInflater.java:407) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 12-27 22:14:44.263: E/AndroidRuntime(10824): at com.vv_package_name.vv_main$ExtendedPagerAdapter.instantiateItem(vv_main.java:135) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.support.v4.view.PagerAdapter.instantiateItem(PagerAdapter.java:110) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:801) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.support.v4.view.ViewPager.populate(ViewPager.java:930) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.support.v4.view.ViewPager.populate(ViewPager.java:881) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1366) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.view.View.measure(View.java:8226) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.widget.LinearLayout.measureVertical(LinearLayout.java:526) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.widget.LinearLayout.onMeasure(LinearLayout.java:304) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.view.View.measure(View.java:8226) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.view.View.measure(View.java:8226) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.widget.LinearLayout.measureVertical(LinearLayout.java:526) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.widget.LinearLayout.onMeasure(LinearLayout.java:304) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.view.View.measure(View.java:8226) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.widget.FrameLayout.onMeasure(FrameLayout.java:245) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.view.View.measure(View.java:8226) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.view.ViewRoot.performTraversals(ViewRoot.java:801) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.view.ViewRoot.handleMessage(ViewRoot.java:1727) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.os.Handler.dispatchMessage(Handler.java:99) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.os.Looper.loop(Looper.java:123) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.app.ActivityThread.main(ActivityThread.java:4627) 12-27 22:14:44.263: E/AndroidRuntime(10824): at java.lang.reflect.Method.invokeNative(Native Method) 12-27 22:14:44.263: E/AndroidRuntime(10824): at java.lang.reflect.Method.invoke(Method.java:521) 12-27 22:14:44.263: E/AndroidRuntime(10824): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858) 12-27 22:14:44.263: E/AndroidRuntime(10824): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 12-27 22:14:44.263: E/AndroidRuntime(10824): at dalvik.system.NativeStart.main(Native Method) 12-27 22:14:44.263: E/AndroidRuntime(10824): Caused by: java.lang.ClassNotFoundException: com.vv_package_name.ExtendedWebView in loader dalvik.system.PathClassLoader[/data/app/com.vv_package_name-2.apk] 12-27 22:14:44.263: E/AndroidRuntime(10824): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243) 12-27 22:14:44.263: E/AndroidRuntime(10824): at java.lang.ClassLoader.loadClass(ClassLoader.java:573) 12-27 22:14:44.263: E/AndroidRuntime(10824): at java.lang.ClassLoader.loadClass(ClassLoader.java:532) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.view.LayoutInflater.createView(LayoutInflater.java:466) 12-27 22:14:44.263: E/AndroidRuntime(10824): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:565) 12-27 22:14:44.263: E/AndroidRuntime(10824): ... 33 more
si uso WebView en lugar de ExtendedWebView, mi código funciona bien 🙂
- Android: ¿Cómo mostrar un mapa de bits en un WebView?
- Asegurar las APIs de webservice RESTful de Spring de acceso no autorizado?
- LAYER_TYPE_SOFTWARE causa que WebView cargue la página en blanco
- Giro a la izquierda / derecha de Android en la actividad de WebView (haciendo clic en vínculos y desplazamiento vertical)
- Descargar archivo dentro de WebView
- WebViewClient shouldInterceptRequest Congela el WebView
- Cookies HTTP WebView HTTP no funcionan en la API 21
- Cómo detectar un gesto de desplazamiento en la vista web
Debe proporcionar una referencia completa a la clase, incluido el paquete.
Por ejemplo,
<org.example.myapp.ExtendedWebView android:id="@+id/webview" android:layout_width="fill_parent" android:layout_height="fill_parent" />
lo siento soy un noob, es mi problema, pongo estos ampliar código de webview en la clase principal de la actividad en un archivo .class … debe ser guardar con un archivo .class independiente … 🙂
public class ExtendedWebView extends WebView {
Resuelto para mí mediante el uso de este en mi XML:
<view class="com.example.MainActivity$MyWebView" android:id="@+id/web_view" android:layout_width="match_parent" android:layout_height="match_parent"/>
Aquí cómo funcionó para mí:
MainActivity.java:
package com.example.test; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.webkit.WebView; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); WebView webView = (WebView)findViewById(R.id.webView); webView.loadUrl("file:///android_asset/www/index.html"); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
activity_main.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <WebView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/webView" /> </RelativeLayout>
Index.html:
Hello world <input type=text name=test value="some value" /> <button />
- Creo que he llegado con la peor manera de comparar dos fechas; ¿es posible hacerlo mejor?
- Paquetes UDP (vía WiFi Direct) nunca llegan