Android, установите значение через GLSurfaceView
Я пытаюсь отправить значение из моей Activity через GLSurfaceView в Renderer, но есть некоторые проблемы с объектом в классе SurfaceView. Я думаю, что я не могу получить доступ непосредственно к Renderer из своей деятельности, я пытался. Я получаю исключение NULL в моем классе GLView, когда я пытаюсь установить значение.
public class Activity extends Activity implements SeekBar.OnSeekBarChangeListener{
GLSurfaceView mGLView;
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_1d);
mGLView = (GLView)findViewById(R.id.surfaceView1D);
mGLView = new GLView(this,10);
// mGLView.mRenderer.var_in_Renderer=10; //Test, but not Working!
}
...
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromTouch) {
mGLView.var_in_Renderer=progress; //Not working
mGLView.setProgress(progress);
}
...
}
class GLView extends GLSurfaceView {
MyGLRenderer mRenderer;
void setProgress(int progress){
mRenderer.var_in_Renderer=progress; //Error!!!!!!!!!!!!!!!!
}
//Empty Constructor don't go, so I filled
public GLView(Context context,int progress){
super(context);
}
public GLView(Context context, AttributeSet attrs) {
super(context,attrs);
// Set the Renderer for drawing on the GLSurfaceView
mRenderer = new MyGLRenderer();
setRenderer(mRenderer);
mRenderer.var_in_Renderer=10; //That would work, but is not what I need
}
}
Как я могу установить значение для переменной в моем рендерере?