java - Android——从 findViewById(R...) 分配的 SurfaceView 不允许访问自定义字段

标签 java android xml surfaceview

我有一个程序,它可以工作。我试图让在 XML 资源中声明的 SurfaceViews 之一可以在 Activity 类中访问。 surfaceview 分配正确并允许访问 SurfaceView 方法/元素,但不是我的自定义方法/元素。如何访问自定义元素?

public class main extends Activity {
  SurfaceView viewer;

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

  void someMethod(){
    viewer.doSomethingRad(); //FAIL
  }
}
//////////////
public class Viewer extends 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"~
~/view~
//I don't know how to escape '

WTF?提前致谢!

最佳答案

您将 View 声明为 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/

相关文章:

c# - 在格式略有错误的 XML 上使用 C# 的 XmlReader

java - 如何在 JLabel 中插入 JPanel?

Java P2P 框架不是 JXTA/JXSE

java - 将 JSON 反序列化为 Java 对象时,如何将父属性映射到子对象?

安卓。 SQLite 异常 : no such column _id

android - 我应该在 Firestore 的字段文档中只写标识符还是写所有数据?

javascript - 在 CasperJS 中计算给定元素的 XPath

JAVA 8 - Stream() 功能,无法通过添加多个过滤器来打印值

android - 取回服务中的按键

xml - XSLT 打开其他 xml 文件