好的,我打开应用程序后立即执行两个异步任务。目前有一个Progress对话框,但您仍然可以在后台看到布局。
所以明显的答案是在进度对话框被取消之前不setContentView(R.layout.activity_main);
。但我无法做到这一点,因为我的第一个异步任务将视频分配到视图中在其后执行中,如果之前未设置布局,则会抛出空指针异常。
protected void onPostExecute(Void result) {
//video is a string file created by doinbackground
card = (VideoView) findViewById(R.id.video);
card.setVideoPath(video);
//Video Loop
card.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.setLooping(true);
}
});
card.start();
}
答案 0 :(得分:1)
在代码内部的布局内部并使用setVisibity() 例如,您必须使用id myLayout隐藏线性布局 1)在布局xml中设置id
android:id="@+id/mylayout"
2)现在在代码中使用OnCreate方法
LinearLayout linearLayout = (LinearLayout) findViewbyId(R.id.mylayout);
linearLayout.setVisibility(View.INVISIBLE)
3)用户postExecute方法
linearLayout.setVisibility(View.VISIBLE)