繁体   English   中英

Android,ProgressBar setVisibility,同时在OnClickListener中加载数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM