我正在尝试在我的testLayout.xml文件中指定一个进度微调器,然后以编程方式显示和隐藏它,就像我在下面的活动代码中所做的那样.然而,发生的事情是进度轮会显示,但即使我有setProgressBarVisibility(false)它也永远不会消失;在末尾.有任何想法吗?谢谢你的意见
布局/ testLayout.xml
<Button android:layout_width="fill_parent"
android:layout_height="wrap_content" android:id="@+id/ButtonNew"
android:text="New" android:layout_alignParentBottom="true" />
<ListView android:layout_width="fill_parent"
android:layout_height="fill_parent" android:id="@+id/list"
android:layout_alignParentTop="true" android:layout_above="@id/ButtonNew" />
<ProgressBar style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:id="@+id/progressBar1" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true"></ProgressBar>
</RelativeLayout>
TestActivity.java
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getwindow().requestFeature(Window.FEATURE_PROGRESS);
setContentView(R.layout.testLayout);
setProgressBarVisibility(true);
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
// Todo Auto-generated catch block
e.printstacktrace();
}
setProgressBarVisibility(false);
}
解决方法:
好吧,你的代码中存在一个问题,因为你的Thread.sleep调用会导致onCreate在继续之前等待5秒.您永远不应该在主UI线程上执行Thread.sleep调用,因为它会导致应用程序在这段时间内没有响应.现在关于ProgressBar,您似乎没有正确地将setProgressBarVisibility与xml文件一起使用.这些函数应该用于标题栏中包含的ProgressBar.您应该使用findViewById(R.id.progressBar1).setVisibility(View.Gone)隐藏或View.Visible来显示.但如果这两个调用都是在onCreate内完成的,那么你只会看到最后一个调用的调用.这是因为在从onResume和onCreate返回活动之前,实际上没有向用户显示ui.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。