2012-02-10 4 views
0

main.xml 파일의 FrameLayout에서 VideoView를 사용하고 있습니다. 화면을 에서 최소화/숨기기 위해 VideoView의 크기를 동적으로 조정할 수 있기를 원합니다. 내 게임을 실행중인 다른 스레드에서 문제가 발생할 수 있으므로 가시성을 변경하고 싶지 않습니다.videoview 크기를 조정할 때 Android 오류가 발생했습니다.

이 여기에 코드를입니다

VideoView vv; 
ViewGroup.LayoutParams params; 

vv = (VideoView) findViewById(R.id.gmVideo); 
params = vv.getLayoutParams(); 
params.width = gm.StoreX; 
params.height = gm.StoreY; 
vv.setLayoutParams(params); 

내가받을 오류 메시지가

Only the original thread can touch this view 

시스템을 중단 사고없이 코드에서 VideoView를 지켜 보면서 치수를 수정하는 방법이있다. 또는 액세스 제한 규정을 위반하지 않고 수정이 가능한 활동 또는 기타 코드의 특정 위치 만 있습니까?

답변

0

..

void temp() 
    { 
     runOnUiThread(new Runnable() { 

      public void run() { 
       vv = (VideoView) findViewById(R.id.gmVideo); 
       params = vv.getLayoutParams(); 
       params.width = gm.StoreX; 
       params.height = gm.StoreY; 
       vv.setLayoutParams(params); 
      } 
     }); 
    } 

when and why to use runOnUIThread() here을 읽고,이 방법을 사용해보십시오
관련 문제