我有一个程序,它可以工作。我试图获得在XML资源中声明的SurfaceView之一,以在Activity类中进行访问。好好分配Surfaceview并允许访问SurfaceView方法/元素,但不能访问我的自定义方法/元素。如何访问自定义元素?

公共类主要扩展活动{
  SurfaceView查看器;

  公共无效onCreate(...){
    ...
    //成功将对象分配给查看器
    观看者=(SurfaceView)findViewById(R.id.Viewer);
  }

  无效someMethod(){
    viewer.doSomethingRad(); //失败
  }
}
//////////////
公共类Viewer扩展了SurfaceView ... {
  ....
}
/////////////Main.xml
...
〜view class =“ com.ballroll.Viewer”
  android:layout_width =“ fill_parent”
  android:layout_height =“ fill_parent”
  android:id =“ @ + id / Viewer”
  android:text =“ Viewer”〜
〜/查看〜
//我不知道如何逃脱'

WTF?提前致谢!

最佳答案

您正在将视图声明为SurfaceView。您应该使用您的类名声明它。

 Viewer viewer;

  public void onCreate(...) {
    ...
    //Successfully assigns object to viewer
    viewer = (Viewer)findViewById(R.id.Viewer);
  }

关于java - Android —从findViewById(R…)分配的SurfaceView不允许访问自定义字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5773610/

10-09 20:01