gpt4 book ai didi

android postDelayed 方法不起作用

转载 作者:太空狗 更新时间:2023-10-29 14:06:30 25 4
gpt4 key购买 nike

我正在尝试为我的应用制作启动画面。我使用了 postDelayed 方法。这是我的代码:

   public class SplashScreenActivity extends Activity {

private static final int SPLASH_DURATION_MS = 1500;

private static final String TAG = SplashScreenActivity.class.getSimpleName();

private Handler mHandler = new Handler();

public static final int sdkVersion = Build.VERSION.SDK_INT;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash_screen);

Random r = new Random();
int imageNumber = r.nextInt(2 - 0) + 0;

ImageView splashScreenBackground = (ImageView)findViewById(R.id.splash_screen_image);
switch (imageNumber){
case 0:
if(sdkVersion > 20)
splashScreenBackground.setBackground(getDrawable(R.drawable.splash_screen_back));
else
splashScreenBackground.setBackgroundDrawable(getResources().getDrawable(R.drawable.splash_screen_back));
return;
case 1:
if(sdkVersion > 20)
splashScreenBackground.setBackground(getDrawable(R.drawable.buffon));
else
splashScreenBackground.setBackgroundDrawable(getResources().getDrawable(R.drawable.buffon));
return;
}

mHandler.postDelayed(mEndSplash, SPLASH_DURATION_MS);
}

@Override
public boolean onTouchEvent(MotionEvent event) {
mEndSplash.run();
return super.onTouchEvent(event);
}

private Runnable mEndSplash = new Runnable() {
public void run() {
if (!isFinishing()) {
mHandler.removeCallbacks(this);

Log.d(TAG, "Debugging before intent");
startActivity(new Intent(
SplashScreenActivity.this, MainActivity.class
));
Log.d(TAG, "Debugging after intent");
finish();
}
};
};

}

这是 onCreate 方法中的调用:

mHandler.postDelayed(mEndSplash, SPLASH_DURATION_MS);

问题是在我按下屏幕之前 Activity 不会改变。

另一件事,MainActivity 类已收费并显示了日志,但我没有在屏幕上看到它!!!我想知道是什么问题。谢谢

最佳答案

您在 switch 中使用 return 而不是 break,因此永远不会到达处理程序的代码。

关于android postDelayed 方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32096278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com