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,

<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 🙂

4 Solutions collect form web for “cómo extender el WebView correctamente?”

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 /> 
  • Android: Transparente WebView sobre previsualización de cámara
  • Impedir el cierre automático del portal en cautiverio después de la autenticación (Android)
  • Conexión de cliente a servidor en aplicaciones de chat como Viber o Telegram
  • Obtener el precio de un sitio web minorista
  • Vinculación del elemento de una página web a una aplicación para Android
  • ¿Cómo puedo encontrar la cantidad de datos que se transfieren cuando hago una llamada de servicio web desde mi aplicación android?
  • Android 4.1 webview javascript no funciona.
  • Cómo autenticar servicio web sap con ksoap2
  • ¿Qué es más seguro: navegador externo o ChromeTab para autorización?
  • ¿Cómo se puede pasar JSON a AngularJS en la vista web de Android?
  • ¿Cómo puedo abrir una aplicación de mi navegador web (Chrome) en Android? ¿Qué tengo que ver con el enlace A Href?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.