2012-02-10 9 views
0

main.xmlファイルのFrameLayoutでVideoViewを使用しています。 私は、画面を最小化/非表示にするためにVideoViewのサイズを動的に変更したいと考えています。 私はそれが私のゲームを実行している別のスレッドで問題やクラッシュを引き起こすので、可視性を変更したくない。ここvideoviewのサイズを変更する際のAndroidエラー

iは受信コード

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 ..

を読んで、この方法を使用してみてください
関連する問題