2011-01-19 9 views
5

Sto cercando di implementare una delle soluzioni trovate here.Come si scrive e si utilizza correttamente una sottoclasse Visualizza in Android?

mio problema è che non sono sicuro se io sono l'attuazione e l'utilizzo in modo corretto il mio sottoclasse. Sto sottoclasse un WebView qui:

public class myWebView extends WebView{ 

    public myWebView(Context context) { 
    super(context); 
    // TODO Auto-generated constructor stub 
} 

    @Override 
protected void onSizeChanged(int w, int h, int ow, int oh) { 
    // TODO Auto-generated method stub 

     scrollTo(xScroll - (widthScroll/2), yScroll - (heightScroll/2)); 


    super.onSizeChanged(w, h, ow, oh); 
} 

    }} 

dovrebbe essere privato ma dimentica che per ora. Ho il codice all'interno di una delle mie attività che ha una webview interna nella gerarchia della vista. Al di fuori del metodo onCreate di tale attività.

All'interno del metodo onCreate, ho: myWebView mapImage = (myWebView) findViewById(R.id.mapcroppic);

Questo mi dà una ClassCastException per tale chiamata. (Il file di layout xml deve usare <myWebView>? Può?) Come lo uso nel modo corretto?

risposta

8

(Ha il file di layout XML necessario utilizzare <myWebView>? Può?) Come si usa questo il modo corretto?

Sì:

<your.package.name.myWebView 
    android:layout_with="blah"/> 

Beh, funziona se il myWebView è una classe pubblica. Se è interno:

<view class="your.package.name.myWebView.YourActivity$myWebView" /> 
+0

Grazie per l'aggiornamento, stavo solo per chiedere informazioni aggiuntive. – joepetrakovich

+0

Ricevo ClassNotFoundException. Sei sicuro che sia l'ordine giusto delle cose? Ad esempio, la mia app si chiama SlingShot. Il pacchetto è com.joe.sling, l'attività che contiene la sottoclasse myWebView è ShootActivity, quindi dovrei avere joepetrakovich

+0

Incolla ciò che hai fatto nella domanda .. per vederlo chiaro. – Cristian

Problemi correlati