当用户单击一个活动中的按钮时,我需要处理一些数据,因此屏幕看起来应用程序停止了 2-3 秒。这不是很多,但我想向用户提供一切正常的信息,IMO 最好的方法是进度条,只有在处理数据时才可见。
我找到了 ProgressBar 的代码,它看起来像这样:
<ProgressBar
android:id="@+id/loadingdata_progress"
style="?android:attr/progressBarStyle"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignBottom="@+id/fin2_note"
android:layout_centerHorizontal="true"
android:indeterminate="true"
android:visibility="invisible" />
并将其插入我的布局中间。
并尝试如果进度条工作,我把这段代码
loadingimage= (ProgressBar) findViewById(R.id.loadingdata_progress);
loadingimage.setVisibility(View.VISIBLE);
进入onCreate
方法,一切看起来都很好。然后我重新创建了代码以仅在处理数据时才显示此进度条。
点击后用户调用该方法
public void fin2_clickOnFinalization(View v)
{
loadingimage= (ProgressBar) findViewById(R.id.loadingdata_progress);
loadingimage.setVisibility(View.VISIBLE);
// code where data is processing
loadingimage.setVisibility(View.INVISIBLE);
}
屏幕上什么也没有出现。我不知道哪里错了。如果我通过 id 找到进度条,对我来说很奇怪,我可以在 onCreate 方法中控制它,但在 onclick 方法中它是我无法控制的。