Android:安装后第一次未显示视图

Android:安装后第一次未显示视图,android,view,invisible,Android,View,Invisible,我有一个活动,它使用ViewSwitcher显示加载屏幕,然后显示我的主视图。加载屏幕显示正常,但主视图不可见。它之所以存在,是因为在我的应用程序启动后,我无法触摸屏幕上的任何东西,但它是不可见的。我需要导航到主屏幕(系统栏仍处于活动状态),然后重新启动应用程序,使其进入前台(使其可见) 这仅在安装后的第一次打开时发生。我曾尝试手动设置可见性,并使用bringToFront()将其置于前台,但在我再次点击应用程序图标之前,它一直不可见 这是我的代码: 我启动加载异步任务,并在onPreExecu

我有一个活动,它使用ViewSwitcher显示加载屏幕,然后显示我的主视图。加载屏幕显示正常,但主视图不可见。它之所以存在,是因为在我的应用程序启动后,我无法触摸屏幕上的任何东西,但它是不可见的。我需要导航到主屏幕(系统栏仍处于活动状态),然后重新启动应用程序,使其进入前台(使其可见)

这仅在安装后的第一次打开时发生。我曾尝试手动设置可见性,并使用bringToFront()将其置于前台,但在我再次点击应用程序图标之前,它一直不可见

这是我的代码: 我启动加载异步任务,并在onPreExecute中执行以下操作:

viewSwitcher = new ViewSwitcher(MainActivity.this);  
viewSwitcher.addView(ViewSwitcher.inflate(MainActivity.this, R.layout.splashscreen, null));  
setContentView(viewSwitcher);
mv = new MainView(MainActivity.this);
然后在doInBackground中执行所有重载,在onPostExecute中切换视图,如下所示:

viewSwitcher.addView(mv);
viewSwitcher.showNext();
//I have tried all this:
mv.setVisibility(View.VISIBLE);
viewSwitcher.setVisibility(View.VISIBLE);
viewSwitcher.bringToFront();
mv.bringToFront();

我还尝试在没有内容切换器的情况下正常设置内容视图,但没有效果。这就像异步任务完成后UI不会失效一样。我不知道为什么这只在安装后发生一次,每隔一次就可以正常工作。

好的,我想好了。问题是加载和访问asyncTask以更新进度时出错。该错误已被处理,因此加载仍在继续,但这不知何故使视图不可见。我将myasyncTask.setProgress()放在runOnUiThread和viola中,视图按预期加载和显示。

在异步任务中执行任何操作之前,您是否尝试过设置contentView,即在super.onCreate()之后立即设置。感谢您的评论。我只是试过了,没什么区别。奇怪的是,viewSwitcher的第一个视图显示得很好,而第二个视图是不可见的。这只是第一次,我对一些用XML定义的视图也有类似的问题。它们不会出现在新安装后第一次运行应用程序时。然后在那之后,他们总是出现。在索尼Experia ST25i上安装了4.0.4。安卓bug?