2012-01-12 51 views
0

我正在設計一些測驗的應用程序。 我需要一個活動,當我按下開始按鈕等待1秒後開始顯示紅色圖像,watis 1秒再次顯示一個黃色的臉並等待另一秒並顯示綠色圖像。使活動計數減少3秒鐘,並自動開始另一個活動

按下開始測驗時開始的活動。

公共類pgtwo延伸活動{

ImageView rface,yface,gface; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.newpg2);    


    rface = (ImageView) findViewById(R.id.imageView1); 
    yface = (ImageView) findViewById(R.id.imageView2); 
    gface = (ImageView) findViewById(R.id.imageView3); 
    rface.setVisibility(ImageView.INVISIBLE); 
    yface.setVisibility(ImageView.INVISIBLE); 
    gface.setVisibility(ImageView.INVISIBLE); 



      Thread trd = new Thread(){   
     @Override 
     public void run() { 
      // TODO Auto-generated method stub 
      try { 
       sleep(1000); 
       rface.setVisibility(ImageView.VISIBLE); 
       sleep(1000); 
       yface.setVisibility(ImageView.VISIBLE); 
       sleep(1000); 
       gface.setVisibility(ImageView.VISIBLE); 

      } catch (Exception e) { 
       // TODO: handle exception 
      }finally{ 
       Intent myIntent = new Intent("com.ak.qmttpack.pgthree"); 
       myIntent.putExtra("pname", pname); 
       myIntent.putExtra("tabList", tabList); 
       myIntent.putExtra("order",order); 
       myIntent.putExtra("noq", noq); 
       myIntent.putExtra("seq", seq); 
       startActivity(myIntent); 
      } 
     } 
    }; 
    trd.start(); 


} 

}

我設置圖像visability作爲invisable並等待1後第二各圖像visability變得visable。 它等待幾秒鐘,並開始下一個activity.it dosent按預期工作。爲什麼有任何幫助。 還是有另一種方式來獲得我所需要的。這樣

+0

你能告訴我們什麼是不工作? – Cata 2012-01-12 15:55:28

+0

圖像根本不可見。 – akhil 2012-01-12 15:56:31

+0

圖像應該一個接一個地顯示出來,但沒有任何東西正在播放。 – akhil 2012-01-12 15:57:18

回答

1

你不能從你的線程修改UI,和您購買的Exception,你不理(這是非常不好的做法)。爲了從另一個線程修改UI您應該創建一個HandleronCreate()方法,然後裏面:

handler.post(new Runnable() { 
     @Override 
     public void run() { 
        rface.setVisibility(View.Visible);   
     } 
    }); 

或你線程使用runOnUiThread()

+0

感謝它的工作 – akhil 2012-01-12 22:49:42

2

嘗試使用runOnUIThread來設置圖像的可見性()方法:

runOnUiThread(new Runnable() { 
    public void run() { 
     rface.setVisibility(View.VISIBLE); 
    } 
}); 
相關問題