[英]Android , ProgressBar setVisibility while loading array inside OnClickListener
我試圖在單擊按鈕后加載數組時查看Spinner風格的ProgressBar樣式,問題是:當OnClickListener運行時,所有GUI都凍結並且setVisibility命令在內存加載完成之前不起作用。
我試圖使用runOnUiThread或使gui無效,但沒有任何作用|:
請幫忙 ?
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
spinner.setVisibility(View.VISIBLE); // <-- the spinner progressBar
loadPhoneMembers(); // <-- memory loading progress
Intent intent = new Intent();
intent.setClass(CreateFrom.this,CreateSendListFromPhoneContacts.class);
startActivity(intent);
}
});
您應該將loadPhoneMembers()方法移至新線程,因為這是一個耗時的過程,它阻塞了UI線程。 例如,您可以創建一個擴展AsyncTask
的類,並將此代碼移動到doInBackground()
方法中。 這是文檔: http : //developer.android.com/reference/android/os/AsyncTask.html
請注意,您無法從后台線程更改用戶界面
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.