如何隐藏应用程序布局直到postexecute

时间:2016-07-17 22:42:32

标签: java android android-layout

好的,我打开应用程序后立即执行两个异步任务。目前有一个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();



    }

1 个答案:

答案 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)