我试图在单击按钮后加载数组时查看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
请注意,您无法从后台线程更改用户界面
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句