你如何在Android中正确编写和使用View子类?

时间:2011-01-19 02:01:54

标签: android webview android-layout subclassing

我正在尝试实施一个找到的解决方案here.

我的问题是我不确定我是否正确实现和使用我的子类。 我在这里继承WebView:

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);
}

   }}

它应该是私密的,但暂时忘记了。我的一个活动中的代码包含在视图层次结构中的内部webview。在该活动的onCreate方法之外。

在onCreate方法中,我有:myWebView mapImage = (myWebView) findViewById(R.id.mapcroppic);

这给了我一个ClassCastException用于该调用。 (xml布局文件是否需要使用<myWebView>?可以吗?)如何以正确的方式使用它?

1 个答案:

答案 0 :(得分:9)

  
    

(xml布局文件是否需要使用<myWebView>?可以吗?)如何以正确的方式使用它?

  

是:

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

嗯,如果myWebView是公共类,那就有效。如果它是一个内在的:

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