我正在編寫代碼,允許用戶瀏覽SD卡上的文件以定位圖像,並使用openGL ES 2.0加載它們。當我只使用EditText鍵入文件路徑時,這很好,但現在我已經實現了一個文件瀏覽器,該文件瀏覽器使用與我獲得的文件路徑字符串完全相同的調用「在沒有當前上下文的情況下調用openGL API 「在LogCat中。從活動返回時沒有當前的openGL上下文嗎?
我認爲這與加載器活動超過GLSurfaceView的頂部有關,所以我設置該活動在任何openGL調用之前終止,但沒有骰子。
什麼給?
下面是一些代碼片段:
當用戶點擊了裝載機
public void backOut(String filePath) {
// inform the main Activity of the file to load...
Intent i = new Intent();
i.putExtra("filePath", filePath);
setResult(Activity.RESULT_OK, i);
// ... and end the load activity
finish();
}
中的文件裏面的主要活動,其中包含了GLSurfaceView
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch(requestCode) {
case (1) : {
if (resultCode == Activity.RESULT_OK) {
String toLoad = data.getStringExtra("filePath");
Log.v(TAG, toLoad);
gl.informRendererLoadTexture(toLoad);
}
break;
}
}
}
而且在調用GLSurfaceView
public void informRendererLoadTexture(String filePath){
_filePath = filePath;
queueEvent(new Runnable(){
public void run() {
_renderer.loadGLTexture(_filePath);
}});
是否使用多線程 – 2010-08-26 21:49:06
我只是用它擴展GLSurfaceView類,所以我猜想以後會自動將渲染器從用戶界面中分離出來,是的。 但是除了我還沒有創建任何我自己或任何其他線程。 – Frank 2010-08-26 21:53:18