Android - SurfaceView, назначенный из findViewById (R ...), не разрешает доступ к настраиваемым полям - PullRequest
1 голос
/ 25 апреля 2011

У меня есть программа, она работает. Я пытаюсь получить доступ к одному из SurfaceViews, который был объявлен в ресурсе XML, в классе 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? Заранее спасибо!

1 Ответ

2 голосов
/ 25 апреля 2011

Вы объявляете вид как SurfaceView. Вы должны объявить это, используя ваше имя класса.

 Viewer viewer;

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