我有一个程序,它可以工作。我试图获得在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/