Итак, я просто прочитал этот вопрос: Как создать заставку? Но вместо добавления фиксированной задержки (например, в верхнем ответе), я хотел сохранить экран заставки, пока загружается MainActivity (с MapFragment).
public class SplashScreen extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
Thread t = new Thread(new Runnable() {
@Override
public void run() {
Intent i = new Intent(SplashScreen.this, MainActivity.class);
startActivity(i);
synchronized (this) {
try {
wait(3000);
System.out.println("Thread waited for 3 seconds");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
});
try {
t.start();
t.join();
finish();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
Я добавил строку wait (3000), потому что раньше я заметил, что поток недолго прожил. Однако, если я заставил его ждать дольше, есть только черный экран, который длится дольше. По какой-то причине активность SplashScreen не отображает ImageView. Что мне делать? Спасибо.