1

到目前为止,我一直在使用Timerthat's in javax.swing.timer- 我所要做的就是选择速度并使用具有特定名称的方法来执行我希望计时器每次都执行的操作。

我最近开始编写一个 Android 应用程序,我遇到了几个问题......

  1. 它不允许我使用或导入javax.swing.timer
  2. 我尝试使用java.util.timer但我无法弄清楚它是如何工作的

我只想要我的计时器,这样我就可以显示我的徽标 3 秒钟,然后进入主菜单 - 即使有更简单的解决方案,我仍然想知道如何使用计时器

对于告诉我尝试使用线程的人 - 这是我的代码 - 它根本不绘制第一个屏幕,它只是保持空白 3 秒然后移动到下一行代码......

public class logo extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        try {
            setContentView(R.layout.logoview);
            Thread.sleep(3000); 
        }
        catch (InterruptedException e){
            e.printStackTrace();
        }

        setContentView(R.layout.main);
    }

    public void startup (View view){
        Intent intent0 = new Intent (this,ExpiramantingActivity.class);
        startActivity(intent0);}
    }
}
4

4 回答 4

1

在 SplashActivity 类的 onCreate() 函数中,安排一个处理程序在 3 秒后显示您的主菜单活动。这应该在 setContentView(R.layout.splashscreen); 之后完成

    new Handler().postDelayed(new Runnable() {

                @Override
                public void run() {
                    startActivity(new Intent(SplashActivity.this,
                            YourMainMenuActivity.class));
                    finish();
                }
            }, 3000);
于 2012-06-28T12:59:26.863 回答
0

也许你可以使用线程?我认为这是做你想做的最简单的方法:

显示徽标的位置:

try {
    //show your logo here
    Thread.sleep(3000); //3 seconds
} catch (InterruptedException e) {
    e.printStackTrace();
}

将代码包围在 try/catch 块中非常重要,因为可能会出现异常。

于 2012-06-28T12:17:27.147 回答
0

我相信您正在尝试做的事情类似于 Splash Screen 展览。如果是这样,请查看此Oracle 教程

于 2012-06-28T12:52:03.607 回答
0

试试这个:

// logo
Thread timer = new Thread(){
            public void run(){
                try{
                    sleep(3000);
                } catch (InterruptedException e){
                    e.printStackTrace();
                }
            }; 
        };
        timer.start();

//next code
于 2012-06-28T13:13:02.700 回答