直到文件下载完成后我的 toast 才会显示(我评论了下载功能)。有什么想法吗?
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ImageView main_image_view = (ImageView)this.findViewById(R.id.main_image_view);
TextView text_view = (TextView)this.findViewById(R.id.main_text_view);
Context context = getApplicationContext();
CharSequence text = "File Not Found. Downloading... Please be patient, it's a large file!";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
// This function fetches a file from a URL.
brain = get_frame_fl(file_name, mActive_slice);
brain_slice = Bitmap.createBitmap(brain_pixels, frame_width, frame_height, Bitmap.Config.ARGB_8888);
// display
main_image_view.setImageBitmap(brain_slice);
}
最佳答案
我认为当您执行 toast.show()
时,您是在请求 UI 线程显示 toast 消息。它不一定立即执行。然后,您将通过文件下载在 UI 线程中执行长时间运行的操作。这将阻止 UI,直到它完成。我会将您的文件下载移动到 AsyncTask
中,这样它就不会挂起 UI。
关于java - 为什么我的 Toast 不显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4867317/