我的第一个Android项目需要一些帮助。
我想编写一个应用程序,用几秒钟的时间向您显示一张带有ImageView的图片,我会说大约4秒钟,然后将其更改为第二个 Activity ,该 Activity 显示一个按钮(仅用于测试)。

我的问题是,在我在AVD中启动它后,我的应用程序会跳过图片并立即显示该按钮。

我该如何解决?我抬头很久,尝试了很多事情,希望你们中的某人有一个主意:)

感谢您的帮助

这是我的MainActivity代码:

     package com.example.parkourspots;
 public class MainActivity extends Activity {

private ViewTreeObserver vto;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final View myLayout = findViewById(R.id.startscreen);

    vto = myLayout.getViewTreeObserver();



    vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener(){

        @Override
        public void onGlobalLayout(){
            try {
                Thread.sleep(500);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            Intent intent = new Intent(MainActivity.this, select_activity_class.class);

            startActivity(intent);


    }
});


}}

最佳答案

检查此代码。

package com.example.parkourspots;

public class MainActivity extends Activity {
    private static int TIME_OUT = 4000; //Time to launch the another activity
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final View myLayout = findViewById(R.id.startscreen);
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                Intent i = new Intent(MainActivity.this, ActivityTwo.class);
                startActivity(i);
                finish();
            }
        }, TIME_OUT);
    }
});

10-04 11:59