2012-01-12 67 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); 
    } 
}); 
相关问题